The git remote show command does not handle negative refspecs. In fact, the function will happily show that the refs will be fetched, even though they won't be. The first patch in this series fixes the show issue for new refs that should be marked as skipped. The later patches do some cleanup on the t5505-remote.sh script, improving the test file, along with some improved test infrastructure. Finally, I also noticed that git remote prune doesn't interact as expected with negative refspecs either, so there is a patch to add an expected failure for this as well. I suspect we need to dig into get_stale_heads and make that handle negative refspecs properly, but I wasn't able to figure that out in the time I have today. Changes since v2: * re-ordered so that the fix is first * cleaned up helper functions to honor -C instead of hard coding 'test' * added expected failures for the short comings of this fix Jacob Keller (6): remote: handle negative refspecs in git remote show t5505: remove sub shell use in favor of git -C tests: handle --global directly in test_config/test_unconfig tests: only automatically unset matching values from test_config t5505: use test_config where appropriate remote: add test for negative refspec with prune builtin/remote.c | 12 +- remote.c | 2 +- remote.h | 6 + t/lib-parallel-checkout.sh | 4 +- t/lib-proto-disable.sh | 12 +- t/lib-submodule-update.sh | 2 +- t/t0001-init.sh | 14 +- t/t0021-conversion.sh | 58 +- t/t0210-trace2-normal.sh | 10 +- t/t0211-trace2-perf.sh | 4 +- t/t0212-trace2-event.sh | 2 +- t/t1309-early-config.sh | 2 +- t/t2081-parallel-checkout-collisions.sh | 2 +- t/t2082-parallel-checkout-attributes.sh | 4 +- t/t3431-rebase-fork-point.sh | 2 +- t/t5505-remote.sh | 1132 ++++++++++------------- t/t5544-pack-objects-hook.sh | 6 +- t/t5550-http-fetch-dumb.sh | 8 +- t/t5573-pull-verify-signatures.sh | 6 +- t/t5606-clone-options.sh | 10 +- t/t5617-clone-submodules-remote.sh | 4 +- t/t5702-protocol-v2.sh | 2 +- t/t7814-grep-recurse-submodules.sh | 16 +- t/test-lib-functions.sh | 104 ++- 24 files changed, 667 insertions(+), 757 deletions(-) -- 2.36.1