Re: What's cooking in git.git (Nov 2024, #03; Mon, 4)
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Nov 5, 2024, 21:28 UTC
- Message-ID
- <20241105212849.3759572-1-jonathantanmy@google.com>
- In-Reply-To
- <xmqqwmhirrvl.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> * 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: <cover.1730491845.git.jonathantanmy@google.com>
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/
Show 11 quoted lines
> * 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: <cover.1730409376.git.jonathantanmy@google.com>
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/