A while back Erwin Rol noticed that tags weren't showing up in the git
mirror[1]. I finally had a chance to look into the issue in detail and
as it turns out some transactions were failing due to a stale lock file.
After cleaning up the lock file and running 'git fsck' the missing tags
have appeared.
I created a new SVN→Git export from scratch for validation. It is
available at
http://code.wireshark.org/git/wireshark-rebase-2013-11-07
Its history differs quite a bit from the main git mirror, but this
appears to be due to changes in the identity map (SVN userernames to Git
email addresses) which were made over the past year.
The file and directory contents appear to be the same. I compared a
fresh SVN checkout with a clone of the old and new git mirrors and they
were all identical except for the VCS metainformation.
It would be nice to replace the current mirror with a fresh export but
it looks like that might cause problems. If I run the following:
git clone http://code.wireshark.org/git/wireshark ws-git-test
cd ws-git-test
git remote set-url origin \
http://code.wireshark.org/git/wireshark-rebase-2013-11-07
Then 'git pull' produces a lot of errors but 'git pull --rebase' seems
to work fine.
If I *did* freshen the git mirror, would having to rebase cause any
undue problems for any git users?
BTW, I'm still hoping to migrate to Git at some point, probably after
Gerrit 2.8 is released. It adds a few useful new features including
easier backporting and a GitHub integration plugin. In the meantime I'll
see if I can add checks to detect any more mirror failures.
[1] http://www.wireshark.org/lists/wireshark-dev/201309/msg00244.html