Importing from SVN
Importing a SVN repository into git is a utter pain if you have anything nonstandard.
A note to everyone out there in the world who came here through google: In
git-svn, there is a function called sub do_git_commit
. If you have an svn
branch that isn’t getting merged in correctly, make a local copy of git-svn
and hack that function. There’s a foreach
loop where you’re adding ‘-p’
options. Immediately afterwards, hack it to add more parent commits on certain
revisions.
So in my case, r149
was supposed to be a merge point. I found the hash of the
commit that should have been one of the parents and wrote:
if ($lr == 148) {
push @exec, '-p', "a8ef9cf2314224558fe205baca770d2a8df556b9";
}
This worked for me. This probably would have been amazingly harder if I had more than one of these broken merges since it would probably change a lot of the commit hashes. YMMV.