"Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Derrick Stolee <stolee@xxxxxxxxx> > > Add a new environment variable to opt-in to differen values of the s/differen/different > --name-hash-version=<n> option in 'git pack-objects'. This allows for > extra testing of the feature without repeating all of the test > scenarios. Unlike many GIT_TEST_* variables, we are choosing to not add > this to the linux-TEST-vars CI build as that test run is already > overloaded. The behavior exposed by this test variable is of low risk > and should be sufficient to allow manual testing when an issue arises. > > But this option isn't free. There are a few tests that change behavior > with the variable enabled. > > First, there are a few tests that are very sensitive to certain delta > bases being picked. These are both involving the generation of thin > bundles and then counting their objects via 'git index-pack --fix-thin' > which pulls the delta base into the new packfile. For these tests, > disable the option as a decent long-term option. > > Second, there are two tests in t5616-partial-clone.sh that I believe are > actually broken scenarios. While the client is set up to clone the > 'promisor-server' repo via a treeless partial clone filter (tree:0), > that filter does not translate to the 'server' repo. Thus, fetching from > these repos causes the server to think that the client has all reachable > trees and blobs from the commits advertised as 'haves'. This leads the > server to providing a thin pack assuming those objects as delta bases. > Changing the name-hash algorithm presents new delta bases and thus > breaks the expectations of these tests. An alternative could be to set > up 'server' as a promisor server with the correct filter enabled. This > may also point out more issues with partial clone being set up as a > remote-based filtering mechanism and not a repository-wide setting. For > now, do the minimal change to make the test work by disabling the test > variable. > > Third, there are some tests that compare the exact output of a 'git > pack-objects' process when using bitmaps. The warning that ignores the > --name-hash-version=2 and forces version 1 causes these tests to fail. > Disable the environment variable to get around this issue. > The patch itself looked good to me. [snip]
Attachment:
signature.asc
Description: PGP signature