On 07.10.2020 23:06, Jeff King wrote: > 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 ... > 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