Transitioning from Clearcase to Mercurial (A developer's account)

Greg Ward greg-hg at gerg.ca
Tue Oct 11 00:24:40 UTC 2011


On Fri, Oct 7, 2011 at 11:05 AM, Ben Fritz <fritzophrenic at gmail.com> wrote:
> <official_response>
> There are a number of reasons why Enterprise Tool Integration (ETI)
> does not currently support Git. This is a small list of previously
> identified issues.

Interesting how the FUD on git is so similar to the FUD on Mercurial.
However, your ETI people were not completely out to lunch.

> 5. Git does not handle binary files gracefully.
>  * Lack of locking easily allows multiple people to edit non-
> mergeable binary files.

This is not a bug (of either git or Mercurial), it is an accidental
feature. Putting large binary files into a source control system is
*just plain wrong*. Yeah, I know, there's always a good excuse at the
time, and maaaaaaaybe it's valid practice for people in the game and
film industries. But for 90% of software developers, large binary
files just plain do not belong in source control.

> 6.Git does not track true file history.
>  * File parentage is based upon file contents of other repository
> files, not the file name. This makes it more difficult to track
> distinct file history.

I can't speak for git, but this is actually true of Mercurial -- for
completely different reasons. "hg log <filename>" does not give
accurate results, since it takes a fast path that omits changesets
that introduce identical revisions of the same file. ;-(

Amusingly enough, I have an extension called "tfh" for "true file
history" that attempts to workaround this problem. I really must
remember to write some documentation and tests and publish it...

Greg



More information about the Mercurial mailing list