Switch from SVN to xxx ?

Jelmer Vernooij jelmer at samba.org
Thu Jun 3 20:44:37 BST 2010


On Thu, 2010-06-03 at 21:16 +0300, Teemu Likonen wrote:
> * 2010-06-03 19:10 (+0200), Jelmer Vernooij wrote:
> 
> > In my experience the guessing bit is indeed a problem. It works well
> > 99.9% but when we renamed a top-level directory in the Samba git
> > repository from "source" to "source3" git log gave up on rename
> > inference (presumably because dealing with 3000 paths that had changed
> > was too expensive performance-wise). The only acceptable solution we
> > could find was to rewrite all of our history with the new name and
> > "git log" was happy again.
> 
> A little over a year ago you wrote the same thing on Bazaar list. Back
> then I pointed out that you were wrong about the performance part and
> Git "giving up". Now, for the second time, I try to correct you and post
> again the link to the mail in which Junio Hamano, the maintainer of Git,
> explained the case:
> 
> http://thread.gmane.org/gmane.comp.version-control.git/94861/focus=94964
The only relevant reference on the Bazaar list that I can find is:

https://lists.ubuntu.com/archives/bazaar/2009q1/052958.html

I don't see any corrections there about performance, just that you've
tried to reproduce the issue using a different tree and didn't succeed
in doing so. 

> In short, "git log --follow" does not even have that feature, so it's
> wrong to say that Git "gave up".
My message doesn't mention --follow.

>  Git didn't even try. The said command
> is indeed limited as it was made to work only with single paths. Until
> someone cares enough to improve "git log --follow" there is always
> 
>     git log -C -p -- old/dir new/sub/dir
> 
> which (a) works and (b) is very fast, even with a sub tree rename of
> 10,000 paths (I just tried). No problems at all with "guessing".
The whole point is that the VCS remembers the old names of a file for
you so that it can follow the history of that file.  If it requires you
to remember all the different filenames under which a file existed, then
how is that rename support? Both Bazaar and Mercurial will display
history across the rename when you ask for the log of a file. Git
doesn't, at least not in all situations. 

> But as the linked discussion shows (some of the) Samba people didn't
> feel the above Git command as acceptable solution so the repository's
> history was modified.
And that's exactly what I said in my message: "The only acceptable
solution we could find was to rewrite all of our history with the new
name and "git log" was happy again."

Cheers,

Jelmer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20100603/fe44d020/attachment.pgp 


More information about the bazaar mailing list