[debian-edu-commits] [Debian Wiki] Update of "DebianEdu/HowTo/Git/SVN2GitMigrationStatus" by MikeGabriel
Debian Wiki
debian-www at lists.debian.org
Wed Oct 23 11:25:42 UTC 2013
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.
The "DebianEdu/HowTo/Git/SVN2GitMigrationStatus" page has been changed by MikeGabriel:
https://wiki.debian.org/DebianEdu/HowTo/Git/SVN2GitMigrationStatus?action=diff&rev1=10&rev2=11
|| webmin-ldap-user-simple || || || || || || || || ||
|| xdebconfigurator || || || || || || || || ||
+ === Migration HowTo ===
+
+ This is a sketch on an exemplary migration of a package that was maintained in SVN and shall now be maintained in Git.
+
+
+ ==== Create new Git package on Alioth ====
+
+ Create a fresh Git project for {{{<package>}}} on {{{git.debian.org}}}:{{{
+ $ ssh git.debian.org
+ $ cd /git/debian-edu/pkg-team
+ $ ../setup-project <package> "<package> Debian package"
+ }}}
+
+ '''Note:''' all {{{debian-edu*}}} packages go into the Debian Edu project's base folder ({{{/git/debian-edu}}}). Edu-related packages go into the {{{pkg-team}}} subfolder. Upstream projects go into the {{{upstream}}} subfolder.
+
+ This example explains the migration of an Edu-related package (so we place the new Git project into {{{/git/debian-edu/pkg-team}}}.
+
+
+ ==== Clone package from SVN ====
+
+ Clone a Git repository from the SVN version of {{{<package>}}}:{{{
+
+ git svn clone \
+ svn+ssh://svn.debian.org/svn/debian-edu/trunk/src/<package>/ \
+ --authors-file=<edu-authors>
+ }}}
+
+ If the {{{<edu-authors>}}} file is incomplete (i.e. there is a login name in an SVN commit that has no match in the {{{<edu-authors>}}} file) the command will abort. Update your {{{<edu-authors>}}} file, remove the locally created folder {{{<package>}}} and execute the above command again.
+
+ FIXME: how to handle branches+tags here? Did we use tags for edu packages, at all? Cross-check with the svn2git [[http://lists.debian.org/debian-edu/2013/10/msg00119.html|migration script posted by Andreas Tille to debian-edu ML]].
+
+ ==== Connect local SVN clone and remote Git repository ====
+
+ Enter the new local Git project:{{{
+ $ cd <package>
+ }}}
+
+ Specify the new remote origin Git repository:{{{
+ $ git remote add origin ssh://git.debian.org/git/debian-edu/pkg-team/<package>.git
+ }}}
+
+ ==== Push the local SVN/Git clone to remote Git repository ====
+
+ Push the local version to remote:{{{
+ $ git push origin master:master
+ }}}
+
+ ==== Release tags ====
+
+ FIXME: This can be improved!!!
+
+ If the SVN project did not contain any tags, you have to manually add Git tags according to SVN log entries (log entries that mention the works "release", "releasing", "upload to ..." or similar). For the taggable log entries you have to determine the corresponding Git hash.{{{
+ $ git tag -s debian/<package-version> -m "Debian release <package-version>" <git-hash>
+ $ ... some more ...
+ $ git push origin --tags
+ }}}
+ ==== Mark SVN package/project as migrated ====
+
+ From the now deprecated SVN project folder you should remove all files and place a README.migrated2git into that folder that points to the new Vcs-Browser location.{{{
+ The package <pacakge> has been migrated to Git on Alioth:
+ http://anonscm.debian.org/gitweb/?p=debian-edu/pkg-team/<package>.git
+ }}}
+
+ ==== Fix up Vcs-*: fields in debian/control ====
+
+ Last but not least: make sure that the Vcs-*: fields in debian/control of the migrated package get updated with the next package upload.
+
+
+
+
----
CategoryGit
More information about the debian-edu-commits
mailing list