User Tools

Site Tools


pld-github

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pld-git [2011-02-13 21:38] – [fedpkg] glenpld-github [2014-03-29 18:49] (current) – add banner saying that this page is not actual state glen
Line 1: Line 1:
-====== CVS to Git Migration for PLD Linux ======+====== CVS to Git Migration for PLD Linux using GitHub ======
  
-We have decided to try migrationg PLD Linux [[http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/|CVS Packages]] repository to [[https://github.com/|github]].+<note warning> 
 +This page describes initial plan using GitHub as PLD Linux packages primary repository, things described here are just historical view of the plan, not current state. 
 + 
 +[[https://github.com/pld-linux/|PLD Linux Github Organization]] is currently used to mirror git.pld-linux.org  
 +</note> 
 + 
 + 
 +This page describes migration of PLD Linux [[http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/|CVS Packages]] repository to [[https://github.com/|github]].
  
 Organization in github as been done: [[https://github.com/pld-linux]], later referred as Organization. Organization in github as been done: [[https://github.com/pld-linux]], later referred as Organization.
Line 10: Line 17:
 ===== Migration Tasks ===== ===== Migration Tasks =====
  
-Migration test was done using ''git cvsimport'', so until cvs is not closed, we can continue updating git repository.+Migration test was done using ''cvs2git'', that is not incremental (but semi-incremental achieved with rsync.log).
  
   * full git cvsimport (using local cvs files copy): ~470 minutes   * full git cvsimport (using local cvs files copy): ~470 minutes
Line 18: Line 25:
   * imported users will be login@pld-linux.org in authors file, people can claim their identities by adding their @pld emails to their accounts in github   * imported users will be login@pld-linux.org in authors file, people can claim their identities by adding their @pld emails to their accounts in github
  
-You can clone from test import at carme:~glen/git/pld-git/gitroot (via ssh)+You can clone from test import at carme:~glen/git/pld-git/git-import (via ssh)
  
 Scripts used to do the import: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/git-migration/ Scripts used to do the import: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/git-migration/
Line 24: Line 31:
 ==== git cvs convert todo ==== ==== git cvs convert todo ====
  
-    * <del>cvsps to understand cvsnt "Commit Identifier"</del>. cvsps patched+    * <del>cvsps to understand cvsnt "Commit Identifier"</del>FIXED: cvsps patched
     * fix problematic packages:     * fix problematic packages:
       - <del>libghttp</del>, cvsps loops on libghttp-fixlocale.patch (two revisions 1.1)       - <del>libghttp</del>, cvsps loops on libghttp-fixlocale.patch (two revisions 1.1)
       - <del>kernel</del> - cvsps loops on kernel-ppc.config       - <del>kernel</del> - cvsps loops on kernel-ppc.config
       - <del>fltk2</del>, <del>classpath</del>, <del>joomla</del>       - <del>fltk2</del>, <del>classpath</del>, <del>joomla</del>
-    * <del>latin2 commit messages</del> Test packages: mutt, audiocut +      - vim : spec.vim: ''cvs checkout: Skipping `$Log$' keyword due to excessive comment leader.'' 
-      * rewriten with "git-filter-branch --msg-filter 'FILTER' --tag-name-filter 'cat'" +    * <del>latin2 commit messages</del>. Test packages: mutt, audiocut. RESOLVED: see cvs2git.options 
-    * <del>cvs branches not imported</del> Test package: audiocut +    * <del>cvs branches not imported</del> Test package: audiocut. FIXED 
-    * what to do with unnamed branchesnagios-alert-jabber, nagios-plugins +    * <del>unnamed branches will be converted to tags: ''cvs-<BRANCHPOINT>''. test packages: nagios-alert-jabber, nagios-plugins 
-    * trim $Log:$ on importing?+    * <del>trim $Log:$ on importing?</del>. DONE
     * filter out imported archives: .tar, .gz, etc?     * filter out imported archives: .tar, .gz, etc?
       * http://pld.pastebin.com/xF5yzZAv - .tar, .gz files       * http://pld.pastebin.com/xF5yzZAv - .tar, .gz files
Line 39: Line 46:
       * maybe these files should be removed in cvs server? they are still present in "old" SOURCES.old if you really want some       * maybe these files should be removed in cvs server? they are still present in "old" SOURCES.old if you really want some
     * maybe we should set Comitter to value other then Author during conversion, so could later identify cvs and git commits.     * maybe we should set Comitter to value other then Author during conversion, so could later identify cvs and git commits.
-    * ideas: remove %changelog from old commits (cvsps -> edit -git cvsimport -P)+    * <del>remove %changelog from old commits</del>. DONE
     * what to fill to .git/description? just package name?     * what to fill to .git/description? just package name?
     * what to do with removed packages. suggestion: clone them to ''pld-linux-obsolete'' organization in github and drop in ''pld-linux''     * what to do with removed packages. suggestion: clone them to ''pld-linux-obsolete'' organization in github and drop in ''pld-linux''
Line 54: Line 61:
       * github has polish interface translations, most devs should be happy? :D       * github has polish interface translations, most devs should be happy? :D
       * what to fill to Summary and URL fields (parse from .spec?)       * what to fill to Summary and URL fields (parse from .spec?)
-      * automate creation of new packages via [[http://develop.github.com/|GitHub API]] probablyCurrently done manually as: +      * <del>automate creation of new packages via [[http://develop.github.com/|GitHub API]]</del>DONE''pldpkg.py'' currently can add and create repos.
-  - [[https://github.com/organizations/pld-linux/repositories/new|Create new repo]] +
-  - push changes: <code> +
-git remote add github git@github.com:pld-linux/alien.git +
-git push github --mirror +
-git push github :origin +
-</code>+
 ===== Unsorted ===== ===== Unsorted =====
   * builder script   * builder script
-    * rewrite from scratch or patch current?+    * rewrite from scratch or patch current?\\ the patched version: https://github.com/draenog/PLDbuilder
     * look into [[https://fedoraproject.org/wiki/Using_Fedora_GIT|fedpkg]]?     * look into [[https://fedoraproject.org/wiki/Using_Fedora_GIT|fedpkg]]?
     * git clone on carme should  use --reference to local git copy to save diskspace     * git clone on carme should  use --reference to local git copy to save diskspace
-  * pld builder automation (building, auto tagging)+  * pld builder automation (building, auto tagging)\\ minimal changes required; see: https://github.com/draenog/pld-builder.new
   * restricting who can delete tags (auto-xxx tags should not be altered by humans)   * restricting who can delete tags (auto-xxx tags should not be altered by humans)
   * $log: keyword support for .spec, also $Revision: and $Date:   * $log: keyword support for .spec, also $Revision: and $Date:
Line 98: Line 99:
 commands that work and have alternatives commands that work and have alternatives
  
-| <code>./builder -g PACKAGE</code> | <code>fedpkg sources</code> |+| <code>./builder -g PACKAGE</code> | <code>fedpkg co PACKAGE; cd PACKAGE; fedpkg sources</code> |
 | <code>./builder -ba PACKAGE</code> | <code>fedpkg local</code> | | <code>./builder -ba PACKAGE</code> | <code>fedpkg local</code> |
 | <code>./compile.sh PACKAGE</code> | <code>fedpkg compile --short-circuit</code> | | <code>./compile.sh PACKAGE</code> | <code>fedpkg compile --short-circuit</code> |
Line 107: Line 108:
 | <code>rm -f *; cvs up</code> | <code>fedpkg clean</code> | | <code>rm -f *; cvs up</code> | <code>fedpkg clean</code> |
  
 +==== todo ====
 +  * switch _builddir, _srpmdir and _rpmdir to packages/NAME when invoked from fedpkg?
pld-github.1297629506.txt.gz · Last modified: 2011-02-13 21:38 by glen

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS PLD Linux Driven by DokuWiki