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

Re: Funnies with "git fetch"

From
Jeff King <peff@peff.net>
Date
Sep 2, 2011, 05:03 UTC
Message-ID
<20110902050359.GB11678@sigill.intra.peff.net>
In-Reply-To
<7vippbmygy.fsf@alter.siamese.dyndns.org>
On Thu, Sep 01, 2011 at 08:09:49PM -0700, Junio C Hamano wrote:
Show 7 quoted lines
> You may be slightly misunderstanding the series.
> [...]
> The current code does not try to make sure we really have the objects
> necessary to connect the updated tips to our original refs at all.  Not
> just blobs but neither commits nor trees are traversed. The new check in
> store_updated_refs() is about that. So in that sense, the series is not
> about "just blobs".

Ah, OK, I see. I was too focused on pulling the bits out of quickfetch into check_everything_connected, and missed the important new call in store_updated_refs.

So what you are doing makes sense to me. I am curious, though, what the performance impact is like. In particular, it seems that we will pull each blob into memory via parse_object. Until now, we were mostly streaming the blobs straight into packs. That makes me a little nervous given the discussions recently about large blobs, and not accessing them unnecessarily. But maybe that is a silly concern, as we will have just reconstructed and hashed such an object anyway to get its name.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 18 in “Funnies with "git fetch"”
  1. Junio C HamanoSep 1, 2011
  2. Junio C HamanoSep 1, 2011
  3. Jeff KingSep 1, 2011
  4. Junio C HamanoSep 2, 2011
  5. Junio C HamanoSep 2, 2011
  6. Jeff KingSep 2, 2011
  7. 0/3 Verify the objects fetch obtained before updating refJunio C Hamano, Sep 1, 2011
  8. 1/3 list-objects: pass callback data to show_objects()Junio C Hamano, Sep 1, 2011
  9. 2/3 rev-list --verify-objectJunio C Hamano, Sep 1, 2011
  10. 3/3 fetch: verify we have everything we need before updating our refJunio C Hamano, Sep 1, 2011
  11. Nguyen Thai Ngoc DuySep 2, 2011
  12. Junio C HamanoSep 2, 2011
  13. Junio C HamanoSep 2, 2011
  14. Junio C HamanoSep 4, 2011
  15. 0/3 Add fetch.fsckobjectsJunio C Hamano, Sep 5, 2011
  16. 1/3 fetch.fsckobjects: verify downloaded objectsJunio C Hamano, Sep 5, 2011
  17. 2/3 transfer.fsckobjects: unify fetch/receive.fsckobjectsJunio C Hamano, Sep 5, 2011
  18. 3/3 test: fetch/receive with fsckobjectsJunio C Hamano, Sep 5, 2011

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.