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

Re: Help cloning over http.

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Sep 17, 2005, 17:37 UTC
Message-ID
<Pine.LNX.4.63.0509171235330.23242@iabervon.org>
In-Reply-To
<7vvf10axia.fsf_-_@assigned-by-dhcp.cox.net>
On Sat, 17 Sep 2005, Junio C Hamano wrote:
Show 6 quoted lines
> Even when repository is packed, the new "we trust only the refs
> we already have" code wasted too much time verifying what are
> already in packs, walking down to the root commits.  Since we
> slurp all the necessary packs upfront and run verify pack on
> them, temporarily register their edge commits as "known to be
> good" before invoking git-http-fetch.

This is a somewhat special situation, because we're assuming that the packs are a complete set. When git-http-fetch downloads a pack, it still needs to know if that pack uses other stuff, in which case it probably needs to download it. The old code actually wouldn't have worked properly if the first pack didn't include any blobs that were still in the latest version, because it wouldn't track commits through the pack and only generally worked with multiple packs because it would need blobs from every pack to produce the current tree.

I think that this gets particularly tricky with alternates, where the necessary packs for ancient history may not actually be in the list of packs in the repository we're looking at.

	-Daniel
*This .sig left intentionally blank*
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 11 in “Fix fetch completeness assumptions”
  1. Fix fetch completeness assumptionsDaniel Barkalow, Sep 15, 2005
  2. Junio C HamanoSep 15, 2005
  3. Daniel BarkalowSep 15, 2005
  4. Sergey VlasovSep 15, 2005
  5. Daniel BarkalowSep 15, 2005
  6. Junio C HamanoSep 16, 2005
  7. Junio C HamanoSep 17, 2005
  8. Junio C HamanoSep 17, 2005
  9. Help cloning over http.Junio C Hamano, Sep 17, 2005
  10. Daniel BarkalowSep 17, 2005
  11. Improve the safety check used in fetch.cJunio C Hamano, Sep 18, 2005

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.