Converting svn to git
Oleg Broytman <phd <at> phdru.name>
2014-07-21 21:57:29 GMT
I've been working for some time behind the scene on converting the
subversion repository to git in hope it helps to revive development a
bit. Now when I'm mostly done I decided to communicate what's going on.
First, I decided it must be git; git is a clear winner now.
Second, I want to preserve the entire history, so I decided to
convert entire subversion repository to git. To do that I need a mapping
from svn login names to committers names and email addresses. I
collected them from svn and the mailing list archive. There are exactly
Today I wrote 18 mail messages (excluding Ian Bicking and me from the
list of committers) asking their permissions to use their names and
emails in the public git repositories. I already get a few errors back;
some mailboxes are no longer available at their original domains; even
worse, some domains are no longer available or don't accept mail.
One person I have to hunt especially hard -- he used 4 different
email addresses, none of which are now available. Finally I contacted
him via SF.net and he already replied -- the first one of those 18! He
gave me sixths address
I'm waiting for the other committers. As for unavailable ones -- I'm
afraid I have to use whatever addresses I have for them.
After the conversion there will be two repositories -- one with full
history and another with a small subset of active branches; currently
these are branches 1.5, 1.6, 1.7 and the trunk^W master.
I will push these repositories to SF and github; I still value SF as
hosting; with distributed nature of git it's no longer a problem to have
clones/forks/mirrors all over the Net.
Full history repository will be read-only; the other one is for
development. Repository at SF will be configured to send email
notifications on every push to sqlobject-cvs (heh) mailing list.
Along with full history and development repositories at github there
will be a documentation repository with generated docs. Actually, it's
already there; docs are visible at http://sqlobject.github.io/ .
Currently I am developing a git workflow (if there will be any).
Perhaps I preserve the current workflow. With it, master will be the new
trunk with all the latest unstable code; from it stable branches will be
branched off. With such workflow it'd be a bit hard to merge pull
requests directly from github web interface; I think I'll merge them
locally and then push merges.
Oleg Broytman http://phdru.name/ phd <at> phdru.name
Programmers don't die, they just GOSUB without RETURN.
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.