[RFC] Migrating nvidia-graphic-drivers from SVN to GIT

Luca Boccassi luca.boccassi at gmail.com
Sun Dec 20 17:46:04 UTC 2015


Hello,

What do you think about migrating the nvidia-graphics-drivers repository
from subversion to git?

I pushed a new repo to Alioth for review:

http://anonscm.debian.org/cgit/pkg-nvidia/nvidia-graphics-drivers-proposed.git/

The only problem is that older merges, without the svn mergeinfo I
think, are not represented in the new git tree. Newer merges are
correctly tracked though.

To create the repository, I used the followed commands to import from
SVN and convert the svn-buildpackage "tag" commits into git annotated
tags, and to import all branches:

git svn clone --stdlayout --authors-file=authors svn://anonscm.debian.org/pkg-nvidia/packages/nvidia-graphics-drivers nvidia-graphics-driver

git for-each-ref refs/remotes/origin/tags | cut -d / -f 5- | while read ref; do MSG=`git log -1 refs/remotes/origin/tags/$ref --pretty=format:%s`; export GIT_COMMITTER_NAME=`git --no-pager show -s --format='"%an"' "refs/remotes/origin/tags/$ref"`; export GIT_COMMITTER_EMAIL=`git --no-pager show -s --format='%ae' "refs/remotes/origin/tags/$ref"`; export GIT_COMMITTER_DATE=`git show --format=%aD refs/remotes/origin/tags/$ref` ; git tag -a "$ref" -m"$MSG" "refs/remotes/origin/tags/$ref"^; done

git for-each-ref refs/remotes/origin/tags | cut -d / -f 5- | while read ref; do git push . :refs/remotes/origin/tags/$ref; done

2 tags had to be fixed manually:

GIT_COMMITTER_EMAIL="rdonald at debian.org" GIT_COMMITTER_DATE="Sun Sep 23 00:16:35 2007 +0000" GIT_COMMITTER_NAME="Randall Donald" git tag -m "[svn-buildpackage] Tagging nvidia-graphics-drivers (100.14.19-1)" -a 100.14.19-1 1b38ebc

GIT_COMMITTER_EMAIL="rdonald at debian.org" GIT_COMMITTER_DATE="Mon Jan 7 20:29:14 2008 +0000" GIT_COMMITTER_NAME="Randall Donald" git tag -m "[svn-buildpackage] Tagging nvidia-graphics-drivers (169.07-1)" -a 169.07-1 2aecb7e

git push . refs/remotes/origin/*:refs/heads/*

git branch -D trunk

For tarballs, we could use gbp buildpackage import-orig. I haven't
uploaded it yet, as the repo size grows to 4.5 GB. But I tested it, and
after using the following command, gbp build-package --pristine-tar
works like a charm.

for f in /media/a1/nvidia-tarballs-svn/nvidia-graphics-drivers_*; do gbp import-orig --no-interactive --no-merge --pristine-tar $f; done


Let me know what you think!

Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-nvidia-devel/attachments/20151220/5885a12d/attachment.sig>


More information about the pkg-nvidia-devel mailing list