git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Thomas Braun <thomas.braun@virtuell-zuhause.de>
To: Jeff King <peff@peff.net>
Cc: GIT Mailing-list <git@vger.kernel.org>,
	Derrick Stolee <dstolee@microsoft.com>
Subject: Re: 2.29.0.rc0.windows.1: Duplicate commit id error message when fetching
Date: Thu, 8 Oct 2020 11:52:03 +0200	[thread overview]
Message-ID: <329d91ed-097f-38ac-f1b1-73b4d57ce8ad@virtuell-zuhause.de> (raw)
In-Reply-To: <20201007210609.GA1984296@coredump.intra.peff.net>

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

  reply	other threads:[~2020-10-08  9:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-07 20:28 2.29.0.rc0.windows.1: Duplicate commit id error message when fetching Thomas Braun
2020-10-07 21:06 ` Jeff King
2020-10-08  9:52   ` Thomas Braun [this message]
2020-10-08 12:06     ` Jeff King
2020-10-08 12:50       ` Derrick Stolee
2020-10-08 13:22         ` Derrick Stolee
2020-10-09 15:29           ` Thomas Braun
2020-10-09 16:49             ` Derrick Stolee
2020-10-09 17:12               ` Thomas Braun
2020-10-09 17:46                 ` Derrick Stolee
2020-10-09 17:55                   ` Jeff King
2020-10-09 18:28                     ` Taylor Blau
2020-10-09 18:33                       ` Derrick Stolee
2020-10-09 18:37                         ` Taylor Blau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=329d91ed-097f-38ac-f1b1-73b4d57ce8ad@virtuell-zuhause.de \
    --to=thomas.braun@virtuell-zuhause.de \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).