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 revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
pld-github [2011-02-13 17:35]
glen [fedpkg]
pld-github [2012-01-10 23:53]
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]].+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 10:
 ===== 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 18:
   * 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 24:
 ==== 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 39:
       * 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 54:
       * 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 92:
 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>​./​compile.sh PACKAGE</​code>​ | <​code>​fedpkg compile --short-circuit</​code>​ | | <​code>​./​compile.sh PACKAGE</​code>​ | <​code>​fedpkg compile --short-circuit</​code>​ |
 | <​code>​./​repackage.sh PACKAGE</​code>​ | <​code>​fedpkg install --short-circuit</​code>​ | | <​code>​./​repackage.sh PACKAGE</​code>​ | <​code>​fedpkg install --short-circuit</​code>​ |
Line 106: Line 101:
 | <​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.txt · Last modified: 2014-03-29 18:49 by glen