Thread (205 messages) flat view 205 messages, 28 authors, 2016-08-12

Re: VCS comparison table

From: Matthew D. Fuller <hidden>
Date: 2016-06-15 22:42:44

On Thu, Oct 19, 2006 at 11:01:03AM -0500 I heard the voice of
Matthew D. Fuller, and lo! it spake thus:
Now, the question of "is that merge commit E really necessary, when
you could just attach D to the end of the graph and create something
like [...] is perhaps a useful question (and one that there's
obviously disagreement on).  And it may be a fruitful one to
discuss, if we're not way off in the weeds already.

But, it's also not QUITE the same question as "Is the left-vs-other
path distinction meaningful and to be preserved?"
Let me elaborate a little on this.

bzr COULD create
  a-.
  |\ \
  b c |
  |/ /
  D-'
instead of
  a-.
  |\ \
  b c |
  |\|/
  | D
  |/ 
  E
for the previously discussed merge, basically duplicating
'fast-forward' behavior.  It doesn't currently, but it could just as
well without disturbing the attributes it gains from assigning meaning
to the left-most parent.  The choice to create E is the result of an
independent decision from the choice to treat the left path as
special.


What the leftmost discussion impacts is the case of 

    a-.
    |\ \
    | b c
    |/ /
    D-'

vs

    a-.-.
     \ \ \
      b c |
     / / /
    D-'-'

Now, the branches are distinct to bzr, but they're not different.  If
you try to merge one from the other, merge will quite rightly tell you
there's nothing to do, since you both have all the same revs.  git
doesn't recognize the distinction at all, of course.  The difference
is mostly cosmetic.  But, it's a cosmetic difference that bzr devs
(and users, I venture) find _useful_, which is why it's fought for.
And everything else seems to follow from that.

If you don't think the distinction is meaningful or useful, you can
ignore it, and the tool should work just fine.  The main place the
distinction would show up is in the cosmetics of how "log" looks (and
probably similarly in any tool that graphically describes ancestry),
and a custom log output formatter could probably be very easily
written to obviate even that.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help