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

Skipping history and save bandwidth: how can I jump between shallow clones, without sending unused blobs

From
Robin H. Johnson <robbat2@gentoo.org>
Date
Dec 18, 2018, 21:56 UTC
Message-ID
<robbat2-20181218T203023-954479960Z@orbis-terrarum.net>

I think this is encapsulated in the v2/promisor work, but wanted to check how close that was to fruition, and that it would indeed be possible.

This would enable replacement of any workflow that presently uses rsync to update.

If I have a clone (ideally shallow already) at A, I'd like to update it to the latest remote tip at F, ALSO at depth 1, without fetching the intermediate history (B..E), or blobs unique to the intermediate history [and no longer referenced from any tree at F].

I critically want to ensure:
- that the remote does NOT send any blobs that I already have.
- that the remote does NOT send any blobs that are not reachable from
  the new tip (e.g. blobs that existed between the old state and the new
  state, but aren't needed anymore).
-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Treasurer
E-Mail   : robbat2@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136
Next: Duy Nguyen
Message 1 of 2 in “Skipping history and save bandwidth: how can I jump between shallow clones, without sending unused blobs”
  1. Robin H. JohnsonDec 18, 2018
  2. Duy NguyenDec 19, 2018

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.