Hi,
In Documentation/user-manual.txt:
In the following, we say that commit X is "reachable" from commit Y
if commit X is an ancestor of commit Y. Equivalently, you could say
that Y is a descendant of X, or that there is a chain of parents
leading from commit Y to commit X.
[...]
However, if the current branch is a descendant of the other--so every
commit present in the one is already contained in the other--then Git
just performs a "fast-forward"; the head of the current branch is
moved forward to point at the head of the merged-in branch, without
any new commits being created.
I'm a Git newbie. According to my understanding, the "descendant" in
the second paragraph above should be "ancestor". I attempt to represent
my understanding using the following diagram (please see it in a
monospaced font):
................................................
o--o--o <-- Branch A
/
o--o--o <-- master
................................................
"master" is the current branch, and (as I understand it) it is an
ancestor of "Branch A", because there is a chain of parents leading from
"Branch A" to master. So "Branch A" (i.e., "the other" branch, or the
"merged-in" branch) is a descendant of master. I even set up a test
repository and attempted to test the above diagram with "git merge-base
--is-ancestor" (and "echo $?"), but it seems to me that the master
branch is *not* a descendant of "Branch A".
I hope you can understand my words here (English is not my native
language). Can anyone point me in the right direction (what am I
missing)?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html