git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: ancestor and descendant ~ clarification needed

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 22, 2015, 20:22 UTC
Message-ID
<xmqqfv12r6vn.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAAF+z6HEeFEYD9R+6Uz3ebRYNMpy5Gh0Fo9EjpaTYwSbqyDLgQ@mail.gmail.com>
Xue Fuqiao <xfq.free@gmail.com> writes:
Show 12 quoted lines
> 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.
Yeah, that is the other way around.
 (1) If the current branch is a descendant of the other--so every
     commit present in the other branch is already contained in the
     current branch--then merging the other branch into the current
     branch is a no-op "Already up-to-date!".
 (2) If the current branch is an ancestor of the other--so every
     commit present in the current branch is already contained in
     the other branch--then merging the other branch into the
     current branch can be fast-forwarded, by moving the tip of the
     current branch to point at the commit at the tip of the other
     branch, and by default Git does so, instead of creating an
     unnecessary merge.
Previous: Etienne GirardNext: Xue Fuqiao
Message 3 of 7 in “ancestor and descendant ~ clarification needed”
  1. Xue FuqiaoOct 22, 2015
  2. Etienne GirardOct 22, 2015
  3. Junio C HamanoOct 22, 2015
  4. Xue FuqiaoOct 23, 2015
  5. Junio C HamanoOct 23, 2015
  6. Xue FuqiaoOct 23, 2015
  7. Junio C HamanoOct 24, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.