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

Re: 2.29.0.rc0.windows.1: Duplicate commit id error message when fetching

From
Thomas Braun <thomas.braun@virtuell-zuhause.de>
Date
Oct 8, 2020, 09:52 UTC
Message-ID
<329d91ed-097f-38ac-f1b1-73b4d57ce8ad@virtuell-zuhause.de>
In-Reply-To
<20201007210609.GA1984296@coredump.intra.peff.net>
On 07.10.2020 23:06, Jeff King wrote:
Show 21 quoted lines
> On Wed, Oct 07, 2020 at 10:28:36PM +0200, Thomas Braun wrote:
> 
>> $ git --version
>> git version 2.29.0.rc0.windows.1
>>
>> Since I upgraded to that version (thanks to dscho for providing these so
>> early) I'm seeing occasionally
>>
>> $ git fetch origin +refs/head/abcd:refs/remotes/origin/abcd
>> fatal: unexpected duplicate commit id
>> 31a13139875bc5f49ddcbd42b4b4d3dc18c16576
> 
> That message comes from the commit-graph code:
> 
>   $ git grep unexpected.duplicate.commit.id '*.c'
>   commit-graph.c:                 die(_("unexpected duplicate commit id %s"),
> 
> So presumably it's related to the fetch.writeCommitGraph feature, though
> I thought it was not on by default (for a while it was tied to
> feature.experimental, but I think even that is not true in 2.29). Do you
> have that option set?

Yes I do have that set. The error also vanishes if I turn it off via git -c fetch.writeCommitGraph=false ...

Show 7 quoted lines
> The message is in sort_and_scan_merged_commits(), which is trying to
> join multiple incremental commit-graph files together. Presumably you
> have two such files with the same commit appearing in both. I think we
> try to avoid that (by omitting commits from new incrementals that
> already appear in another one), but I wonder if there is a race or other
> condition that can cause it. In which case this code ought to be more
> lenient, and just quietly ignore the duplicate.
Thanks for the explanation. Yes I do have multiple commit graph files.

$ ls -lh objects/info/commit-graphs total 445K -r--r--r-- 1 thomas 197121 123 Oct 8 11:29 commit-graph-chain -r--r--r-- 1 thomas 197121 3.2K Oct 8 11:29 graph-6444f51143e12b3f34c031e60a672d2b29d1c09e.graph -r--r--r-- 1 thomas 197121 434K Oct 8 11:29 graph-6d467862fac6cadecf90c11a054b8883234defec.graph -r--r--r-- 1 thomas 197121 1.9K Oct 8 11:29 graph-6ed4c0bfb0adcc15a7dc58159b3652a23d6d8c14.graph

> Is it possible to share the contents of your .git directory? If not, can
> you look in .git/objects/info/ and see if there are multiple
> commit-graph files (and if so, possibly share those; they don't contain
> any identifying info).
Yes sure, I can share that [1]. Thanks for looking into that.

[1]: http://byte-physics.de/Downloads/dotGitWriteCommitGraphDuplicatedCommitIssue.tar.gz

Previous: Jeff KingNext: Jeff King
Message 3 of 14 in “2.29.0.rc0.windows.1: Duplicate commit id error message when fetching”
  1. Thomas BraunOct 7, 2020
  2. Jeff KingOct 7, 2020
  3. Thomas BraunOct 8, 2020
  4. Jeff KingOct 8, 2020
  5. Derrick StoleeOct 8, 2020
  6. Derrick StoleeOct 8, 2020
  7. Thomas BraunOct 9, 2020
  8. Derrick StoleeOct 9, 2020
  9. Thomas BraunOct 9, 2020
  10. Derrick StoleeOct 9, 2020
  11. Jeff KingOct 9, 2020
  12. Taylor BlauOct 9, 2020
  13. Derrick StoleeOct 9, 2020
  14. Taylor BlauOct 9, 2020

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.