Nice--but what exactly is the meaning of "left" and "right"?
When you write
git checkout this-branch
git merge other-branch
the left parent of the new merge commit is `this-branch` and
the right one is `other-branch`.
The "commits pulled" just means the commits that are in the DAG of one
parent but not in that of the other.
I just pulled the terminology out from thin air...
Is it true that if all best practices were followed, there would
be no "left to right" commits pulled?
No: if you have this situation:
--A-------B main branch
C----D topic branch
and merge the topic branch back to the main branch, you will get
merges to "both" directions, with "B" appearing left-to-right.
If you rebase first on B, then you will get only right-to-left, though.
Is "master" always farthest left?
Not necessarily if things like this have been done:
git checkout v1.0.x
git merge upstream/master
git push upstream HEAD:master
This would give the same result as
git checkout master
git merge upstream/v1.0.x
git push upstream master
but with an inverted order of the parents.
If the merge command is used in the natural way, the "trunk" of the branch
tends to be on the left, and right-to-left merges show what new was merged
to it. But you can manually change this order, and this seems to have
occurred in this case.
On Fri, 27 May 2011 09:51:37 -1000, Eric Firing wrote: