On Mon, Jun 13, 2022 at 7:26 PM Taylor Blau <me@xxxxxxxxxxxx> wrote: > > On Mon, Jun 13, 2022 at 06:56:55PM -0700, Jacob Keller wrote: > > > > +test_expect_success 'show with negative refspecs' ' > > > > + test_when_finished "git -C test config --fixed-value --unset remote.origin.fetch ^refs/heads/main" && > > > > + ( > > > > + cd test && > > > > + git config --add remote.origin.fetch ^refs/heads/main && > > > > > > Doing "git config --unset" outside of the subshell could be avoided by > > > ditching the subshell altogether, perhaps with something like: > > > > > > test_config -C test remote.origin.fetch ^refs/heads/main && > > > > We need "--add" semantics here which test_config doesn't seem to > > support at the moment. > > Makes sense, thanks for explaining. This patch looks good to me. > > Thanks, > Taylor I ended up digging into this, and have now additionally added some patches to clean these tests up: 1) drop all the subshells in t5505 where possible 2) modify test_config and test_unconfig to handle options, including --global, --add, and --fixed-value 3) make test_config use --fixed-value with test_unconfig so that only the keys with the exact value are removed 4) use test_config more so that we don't have config values from previous tests kept around