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

Re: [PATCH] diff: skip GITLINK when lazy fetching missing objs

From
JTJonathan Tan <jonathantanmy@google.com>
Date
Aug 20, 2019, 21:39 UTC
Message-ID
<20190820213924.154253-1-jonathantanmy@google.com>
In-Reply-To
<xmqqblwjtu1b.fsf@gitster-ct.c.googlers.com>
Show 11 quoted lines
> Jonathan Tan <jonathantanmy@google.com> writes:
> 
> > In 7fbbcb21b1 ("diff: batch fetching of missing blobs", 2019-04-08),
> > diff was taught to batch the fetching of missing objects when operating
> > on a partial clone, but was not taught to refrain from fetching
> > GITLINKs. Teach diff to check if an object is a GITLINK before including
> > it in the set to be fetched.
> 
> OK, so in a lazy repository, running "git diff" (or "git log") could
> have resulted in "git fetch" of a history of a submodule, which may
> likely have failed?

Yes - it would attempt to fetch the submodule commit (as stated in the GITLINK) from the superproject, which is very unlikely to succeed. (And succeeding would allow the operation to continue, but will cause the superproject to have unrelated objects in its object store, which is not what we want anyway.)

> Sign-off?
Oops...here you go.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
> Makes sense.
> 
> Thanks.
Thanks for looking at this.
Previous: Junio C HamanoNext: Jeff King
Message 3 of 6 in “diff: skip GITLINK when lazy fetching missing objs”
  1. diff: skip GITLINK when lazy fetching missing objsJonathan Tan, Aug 20, 2019
  2. Junio C HamanoAug 20, 2019
  3. Jonathan TanAug 20, 2019
  4. Jeff KingAug 22, 2019
  5. Jonathan TanAug 22, 2019
  6. Jeff KingAug 22, 2019

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.