Proper tracking of file-level operations: rename, directories, merges

Martin Geisler mg at aragost.com
Fri Oct 21 07:27:46 UTC 2011


Ben Finney <ben+bazaar at benfinney.id.au> writes:

> "Stephen J. Turnbull" <stephen at xemacs.org> writes:
>
>> Well, I don't know what Ben meant by "correct rename tracking", but
>> Mark Shuttleworth always brags about Bazaar "correctly" tracking
>> directories, as well as files, as versionable objects.
>
> Yes. I consider all the file entries – symlinks, directories, regular
> files – in my project to be items worth tracking and reproducing as
> first-class citizens in the VCS.

You mention symlink: Mercurial tracks symlinks as small files with the
link target as their content (after all, that's what they are on Unix).
So renaming a symlink will work like renaming any other file. Changing a
symlink will work like changing any other file (you'll get to merge if a
symlink is changed in conflicting ways).

Does Bazaar work differently here?

> Mercurial and Git, by deciding on my behalf that some of those are not
> worth tracking, serve me poorly as a result. Bazaar serves me better
> because it tracks those objects correctly.

That's awfully vague... :-/ How does Bazaar serve you better? In which
concrete scenario does Git and Mercurial fail here? I think that
scenario should involve a merge since that is when rename tracking
becomes really important.

I'm genuinely interested in getting to the root of this so that we can
fix any problems.

-- 
Martin Geisler

aragost Trifork
Professional Mercurial support
http://mercurial.aragost.com/kick-start/



More information about the bazaar mailing list