Re: [PATCH 1/6] docs: document bundle URI standard
- From
Derrick Stolee <derrickstolee@github.com>
- Date
- Jun 21, 2022, 19:34 UTC
- Message-ID
- <d4427adf-e3ef-a5cd-3016-687004dc5ae3@github.com>
- In-Reply-To
- <48e722dc-f860-f7a6-36d0-b0106087aef4@github.com>
On 6/8/2022 3:46 PM, Derrick Stolee wrote:
> On 6/6/2022 8:33 PM, Junio C Hamano wrote: >> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
I'm finally getting around to applying the recommended changes locally, when I noticed...
Show 17 quoted lines
>>> + present in the client repository. If some are missing, then the client >>> + delays unbundling until other bundles have been unbundled, making those >>> + OIDs present. When all required OIDs are present, the client unbundles >>> + that data using a refspec. The default refspec is >>> + `+refs/heads/*:refs/bundles/*`, but this can be configured. >> >> The refs/bundles/ appear in the document only here, and it is >> unclear why we even want it (I am assuming this is against gc while >> "git clone" is still running) or how we are going to retire it, if >> ever. If there are multiple bundle files involved in this "git clone", >> to anchor objects that are necessary against "gc", don't we need to use >> refs/bundles/<i>/* or something like that, where <i> is uniquely assigned >> number locally? > > The real reason to keep them in refs/bundles/ is because then those > refs can be used in the incremental 'git fetch' after downloading the > bundles (in perpetuity) while not stomping refs/heads or refs/remotes/
...I completely ignored your "refs/bundles/<i>/*" suggestion, which is an interesting way to allow dropping refs from this space, allowing GC to clear up space over time.
I'm making note of this and will include it as a potential way forward (while I also think about what the implementation would look like).
Thanks, -Stolee