Re: [PATCH v3] git-svn: Make following parents atomic
- From
Thomas Jarosch <thomas.jarosch@intra2net.com>
- Date
- Dec 16, 2008, 13:22 UTC
- Message-ID
- <200812161422.58814.thomas.jarosch@intra2net.com>
- In-Reply-To
- <20081208233523.GB21675@hand.yhbt.net>
On Tuesday, 9. December 2008 00:35:23 you wrote:
Show 11 quoted lines
> > To fix this, when we initialise the Git::SVN object $gs to search for > > and perhaps fetch history, we check if there are any commits in SVN in > > the range between the current revision $gs is at, and the top revision > > for which we were asked to fill history. If there are commits we're > > missing in that range, we continue the fetch from the current revision > > to the top, properly getting all history before using it as the parent > > for the branch we're trying to create. > > > > Signed-off-by: Deskin Miller <deskinm@umich.edu> > > Looks good Deskin, thanks
This patch has a very nice side effect, it seems to fix a long standing problem with subversion imports. Here's the original report: https://kerneltrap.org/mailarchive/git/2008/4/8/1377514/thread
Many of the 121 tags in my SVN tree were created by cvs2svn, which often created tags by copying older revisions of sub paths into the current tree.
I've written a small script that checks out the same tag via git and SVN. It runs a diff against those two trees and saves the result to a file so I can manually check it. With git-svn from 1.6.0.5, the results are horrible: Over 30% of the tags didn't match the code in SVN.
With git-svn from 1.6.1rc3, my first two manual probes look very good. Right now I'm reimporting the svn tree and will have the results of the complete "checkout comparison" tomorrow.
Cheers, Thomas