From: Jonathan Tan Date: Tue, 05 Nov 2024 21:28:49 GMT Subject: Re: What's cooking in git.git (Nov 2024, #03; Mon, 4) Message-ID: <20241105212849.3759572-1-jonathantanmy@google.com> In-Reply-To: Junio C Hamano writes: > * jt/repack-local-promisor (2024-11-03) 5 commits > - fixup! index-pack: repack local links into promisor packs > - index-pack: repack local links into promisor packs > - t5300: move --window clamp test next to unclamped > - t0410: use from-scratch server > - t0410: make test description clearer > > "git gc" discards any objects that are outside promisor packs that > are referred to by an object in a promisor pack, and we do not > refetch them from the promisor at runtime, resulting an unusable > repository. Work it around by including these objects in the > referring promisor pack at the receiving end of the fetch. > > Needs review. > Breaks CI (with a known fix). > source: The fixup (in your tree) looks good. As for review, for what it's worth, Josh Steadmon has written some comments [1], which I've addressed. Regarding the big-picture issue as to whether this solution is the best one for the problem we have, both Han Young [2] and I have verified (with private repos) that this solution does not have noticeable performance issues (which was a concern with other solutions) and I think that this solution does well to preserve the concept that we know which objects are re-fetchable from the remote (even if we have created them locally) and which are not. [1] https://lore.kernel.org/git/radxsrv6sjemdzl2mw5zzkieyim6xfikrevwggjmzi774g2sob@4nx7fwcjfk32/ [2] https://lore.kernel.org/git/CAG1j3zGiNMbri8rZNaF0w+yP+6OdMz0T8+8_Wgd1R_p1HzVasg@mail.gmail.com/ > * jt/commit-graph-missing (2024-11-04) 3 commits > - SQUASH??? > - fetch-pack: warn if in commit graph but not obj db > - Revert "fetch-pack: add a deref_without_lazy_fetch_extended()" > > A regression where commit objects missing from a commit-graph can > cause an infinite loop when doing a fetch in a partial clone has > been fixed. > > Waiting an ack for CI breakage fix and possibly a reroll. > source: Through reading this I've realized that the "warn if" should be "die if", so I've made a reroll [3]. [3] https://lore.kernel.org/git/cover.1730833754.git.jonathantanmy@google.com/