Bazaar still below the radar when evaluating VCS tools

Stephen J. Turnbull stephen at xemacs.org
Thu Feb 25 09:09:51 GMT 2010


Matthew D. Fuller writes:
 > On Thu, Feb 25, 2010 at 12:16:26PM +1100 I heard the voice of
 > Andrew Bennetts, and lo! it spake thus:
 > > 
 > > I'm going to guess though: I think Stephen might be saying that none
 > > of the systems automatically capture a 'mv foo bar' done in their
 > > working trees, when ideally they would.
 > 
 > I read it more as meaning that whatever was captured at commit time is
 > IT.  There's no way to go back later and say "Oh, this was actually a
 > move".

Of course there is ... the hard/unsafe way.  You create a new branch
off the parent of the rename, rerecord the rename on top of that, then
rebase the rest of the branch on that.  Of course this changes the
"true names" of all the child commits, and in general suffers from all
the issues of rebase.  Admittedly that is much easier to do in git or
maybe darcs.  But I think of the immutability of the record as being
quite a different set of problems.

 > Whereas git sorta can, insofar as it never records a decision and
 > decides on the fly when it needs to (and can thus have its rules
 > for how to decide changed at any time).

That's true, and I sometimes take advantage of it when using git, but
I don't much think of that as being a better form of "rename
support".  Rather, in my usage I don't depend on good rename support
at all, so I'd rather have the flexibility.

I certainly doubt that those who want "true rename support"[1] would
consider it an advantage.  My point is that presumably true rename
support should be reliable; it will track the changes in the
(abstract) file object across content changes, across property changes
(including name), and even if everything changes somewhat at the same
time.  I don't see how you can get that if renames are guessed
heuristically, or if it's possible to do renames behind the back of a
system that won't even guess unless asked to do so.

Footnotes: 
[1]  Which I don't want to bikeshed; I agree that git doesn't have it.





More information about the bazaar mailing list