Regarding the subject, I think you mean "add a special setup var", not "add a special setup where". > +GIT_TEST_PROTOCOL_VERSION=<'protocol.version' config value>, when set, > +runs the test suite with the given protocol.version. E.g. "0", "1" or > +"2". Can be set to the empty string within tests themselves (e.g. "env > +GIT_TEST_PROTOCOL_VERSION= <cmd>") to unset the value in the > +environment as a workaround for "env --unset" not being portable. Optional: I prefer the "overrides" language used in GIT_TEST_COMMIT_GRAPH to make it clear that any existing setting is ignored. E.g.: GIT_TEST_PROTOCOL_VERSION=<'protocol.version' config value>, when set to a non-empty string, overrides the 'protocol.version' value. E.g. "0", ... Other than that, this patch and the other patches (1-4, 6, 8) look good to me. My patch 7 looks good too, but it's probably better if someone else looks at it too :-)