Mercurial vs Git

Felipe Contreras felipe.contreras at
Thu Jan 20 05:53:34 EST 2011

On Thu, Jan 20, 2011 at 12:35 PM, Felipe Contreras
<felipe.contreras at> wrote:
> On Thu, Jan 20, 2011 at 5:56 AM, John Bailey <rekkanoryo at> wrote:
>>> I haven't seen anyone discuss this fact, except John Bailey who called the git
>>> implementation 'braindead' without going into any details.
>> Perhaps "braindead" was a poor choice of words.  But I don't like the idea of
>> the "branch" being a floating reference to the head of a portion of the revision
>> graph.
>> Our branches generally are larger feature branches, where (in my opinion) it's
>> more useful to always have those revisions tied to a given branch.  It's not the
>> immutability of the branch that I'm going for here, more the fact that *each*
>> revision on the branch is *explicitly* on the branch, not implicitly by walking
>> the history graph if the branch ref is present.
> Yes, but why? The git model would represent exactly the same thing,
> unless you want some representation in which not all the commits
> ancestor of a branch head are part of the branch, in which case it's
> not what people call a branch, but more like "commit labels", and I
> still don't see why you would prefer those.

Another point I forgot to mention is that in my experience "large
feature" branches can be (and usually are) composed of many small
feature branches (at least in git). And to me, it makes perfect sense
that when branch 'small-feature-y' is merged into the
'large-feature-x' branch, all the commits in the small branch can be
considered now part of the large branch. That's exactly how the git
model represents this.

Felipe Contreras

More information about the Devel mailing list