7254
Comment: fix URL
|
7353
debian-edu migration.
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
|| debian-edu || x || || || Holger || || || || || | || debian-edu || x || x || || Alexander / Mike || || || [[http://anonscm.debian.org/gitweb/?p=debian-edu/upstream/debian-edu.git;a=summary|x]] || || |
Debian Edu SVN-2-Git Migration Status
Package tracker
SVN folder name |
package? |
upstream? |
other usage? |
responsible |
needs help |
will be dropped |
migrated |
comments |
dak |
x (but not uploaded) |
|
|
|
|
|
|
|
debian-edu |
x |
x |
|
Alexander / Mike |
|
|
|
|
debian-edu-archive-keyring |
x |
x |
|
Mike |
|
|
|
|
debian-edu-artwork |
x |
x |
|
Mike |
|
|
|
|
debian-edu-config |
x |
|
|
Holger |
|
|
|
|
debian-edu-doc |
x |
|
|
David |
|
|
|
|
debian-edu-install |
x |
|
|
|
|
|
|
|
desktop-profiles |
x |
x |
|
Alexander |
|
|
|
|
killer |
x |
|
|
Alexander |
|
|
|
|
libpam-mklocaluser |
x |
x |
|
Petter |
|
|
|
|
shutdown-at-night |
x |
x |
|
Mike |
|
|
|
|
sitesummary |
x |
x |
|
Petter |
|
|
|
|
slbackup |
x |
|
|
Mike |
|
|
|
|
slbackup-php |
x |
|
|
Mike |
|
|
|
|
slbackup-php.squeeze-proposed-update |
x |
|
|
Mike |
|
|
|
Directories we care about but which are not packages
SVN folder name |
package? |
upstream? |
other usage? |
responsible |
needs help |
will be dropped |
migrated |
comments |
archive |
|
|
|
|
|
|
|
|
build |
|
|
|
|
|
|
|
|
build-area |
|
|
|
|
|
|
|
|
cronjobs |
|
|
|
|
|
|
|
|
Directories we dont care about
SVN folder name |
package? |
upstream? |
other usage? |
responsible |
needs help |
will be dropped |
migrated |
comments |
debian-edu-itil-doc-nb |
|
|
|
|
|
|
|
|
desa-config |
|
|
|
|
|
|
|
|
d-i-bootimages |
|
|
|
|
|
|
|
|
educlient |
|
|
|
|
|
|
|
|
edu-ltsp-client-builder |
|
|
|
|
|
|
|
|
eduroaming |
|
|
|
|
|
|
|
|
etcinsvk |
|
|
|
|
|
|
|
|
fai-configspace |
|
|
|
|
|
|
|
|
host-policygroups |
|
|
|
|
|
|
|
|
localization-config |
|
|
|
|
|
|
|
|
moodle-debian-edu-theme |
|
|
|
|
|
|
|
|
tarballs |
|
|
|
|
|
|
|
|
update-nsswitch |
|
|
|
|
|
|
|
|
upgradetest |
|
|
|
|
|
|
|
|
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: Branches and tags should better be handled as describe in the main page or in the Game team one. Cross-check with the svn2git 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
Setup git-buildpackage to ease packing with git
With Git versions greater than 1.7.2.3:
$ git checkout --orphan upstream $ git rm -rf . $ git commit --allow-empty -m 'Initial upstream branch.' $ git checkout -f master
With Git versions lower than 1.7.2.3:
$ git symbolic-ref HEAD refs/heads/upstream $ git rm --cached -r . $ git commit --allow-empty -m 'Initial upstream branch.' $ git checkout -f master
Import upstream tarball:
$ git-import-orig --pristine-tar /path/to/tarball.orig.tar.gz
source: http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.CONVERT
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 <package> 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.