This series adds support for negative refspecs to git remote show, fixing an issue reported by Pavel Rappo. In addition, it includes some cleanup of the t5505-remote.sh test script, focusing on removing subshells and using test_config more. To support this, test_config and test_unconfig are extended to take and handle more options. The test_config_global is removed in favor of just using test_config --global. In addition, test_config now passes the value and --fixed-value into test_unconfig so that only the specific value is removed (rather than all keys of the name). The original v1 can be found here: https://lore.kernel.org/git/20220614003251.16765-1-jacob.e.keller@xxxxxxxxx/ If the config changes are too controversial, I'm happy to split them out into a separate series for further discussion, or drop them if they aren't desirable. Changes since v1: * cleanup t5505 subshells * modify test_config and test_unconfig to handle additional options including --add, --global, and --fixed-value * make test_config only cleanup keys with exact matching values. * use test_config more in t5505 to avoid lingering configuration in future tests * Moved the omit_name_by_refspec call into the already existing fetch_map, rather than using two loops. We don't really need to remove these values from the fetch_map and it significantly simplifies the code. Thanks Junio! Jacob Keller (5): 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: handle negative refspecs in git remote show builtin/remote.c | 17 +- 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 | 1083 +++++++++-------------- 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 | 85 +- 24 files changed, 602 insertions(+), 759 deletions(-) -- 2.36.1