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

Re: identical hashes on two branches, but holes in git log

From
Jeff King <peff@peff.net>
Date
May 19, 2015, 23:39 UTC
Message-ID
<20150519233925.GA22748@peff.net>
In-Reply-To
<20150519132958.GA21130@frolo.macqel>
On Tue, May 19, 2015 at 03:29:58PM +0200, Philippe De Muyter wrote:
Show 28 quoted lines
> Trying to understand, I have eventually done "git log" on my branch and
> on v3.15 with the following commands :
> 
> git log v3.15 --full-history --decorate=short | grep '^commit' > /tmp/3.15.commits
> git log --full-history --decorate=short | grep '^commit' > /tmp/mybranch.commits
> 
> I compare then the two histories with
> 
> diff -u /tmp/3.15.commits /tmp/mybranch.commits
> 
> and I get (excerpt) :
> 
> --- /tmp/3.15.commits      2015-05-19 13:19:59.665205514 +0200
> +++ /tmp/mybranch.commits     2015-05-19 13:19:52.452081328 +0200
> @@ -1,3780 +1,84 @@
> -commit 1860e379875dfe7271c649058aeddffe5afd9d0d (tag: v3.15)
> -commit ...
> ...
> -commit fad01e866afdbe01a1f3ec06a39c3a8b9e197014 (tag: v3.15-rc8)
> ...
> ...
> -commit c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (tag: v3.15-rc1)
> ...
> -commit 57673c2b0baa900dddae3b9eb3d7748ebf550eb3
> +commit a1fb433346cb5733945b5fc243f7334744bae4fd (HEAD, macq_boards-3.14.0)
> +commit ...
> ...
> +commit 2be7b20bbb337e0031e0f0d39c9a4845b6bbf3b8

It looks like v3.15 is ahead of your branch. And I _think_ your question is: since they both contain v3.14, shouldn't they also contain all of the ancestors of v3.14?

The answer is yes. But from your output here:
>  commit 455c6fdbd219161bd09b1165f11699d6d73de11c (tag: v3.14)	==== identical commit
> -commit c32fc9c803f8ed90a7548810de48ca33a3020168		==== commit missing in my branch
>  commit fedc1ed0f11be666de066b0c78443254736a942e		==== more identical commits

I think what you are saying is: c32fc9c803 comes after v3.14, so it should be an ancestor, right?

And the answer is no. Git's traversal order does not necessarily reflect the true topology if you have multiple lines of development. And in this case, they do not have a direct ancestry relationship (i.e., they are on separate branches, and neither is an ancestor of the other).

-Peff
Previous: Christian CouderNext: Philippe De Muyter
Message 9 of 15 in “identical hashes on two branches, but holes in git log”
  1. Philippe De MuyterMay 19, 2015
  2. Junio C HamanoMay 19, 2015
  3. Philippe De MuyterMay 19, 2015
  4. Junio C HamanoMay 19, 2015
  5. Philippe De MuyterMay 21, 2015
  6. Philip OakleyMay 21, 2015
  7. Philippe De MuyterMay 21, 2015
  8. Christian CouderMay 20, 2015
  9. Jeff KingMay 19, 2015
  10. Philippe De MuyterMay 20, 2015
  11. John KeepingMay 20, 2015
  12. Philippe De MuyterMay 20, 2015
  13. Jeff KingMay 20, 2015
  14. Philippe De MuyterMay 21, 2015
  15. Junio C HamanoMay 21, 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.