--- > The current behaviour seems to me a bug introduced while git-fetch was > rewritten in C (the original found in contrib/examples reads from the > config only when no --tags/--no-tags option is given from the command > line). > > Is this something we can protect with a test script from future breakages? This should test that behavior. I'd appreciate feedback on how to improve this test. I'm not sure if this is the right name/number either. t/t5525-fetch-tagopt.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) create mode 100755 t/t5525-fetch-tagopt.sh diff --git a/t/t5525-fetch-tagopt.sh b/t/t5525-fetch-tagopt.sh new file mode 100755 index 0000000..17bd407 --- /dev/null +++ b/t/t5525-fetch-tagopt.sh @@ -0,0 +1,44 @@ + +#!/bin/sh + +test_description='tagopt variable affects "git fetch" and is overridden by commandline.' + +. ./test-lib.sh + +setup_clone () { + (git clone --mirror . $1 && + git remote add remote_$1 $1 && + cd $1 && + git tag tag_$1) +} + +test_expect_success setup ' + echo >file original && + git add file && + git commit -a -m original && + setup_clone one && + git config remote.remote_one.tagopt --no-tags && + setup_clone two && + git config remote.remote_two.tagopt --tags + ' + +test_expect_success "fetch with tagopt=--no-tags does not get tag" ' + git fetch remote_one && + ! (git show-ref tag_one) + ' + +test_expect_success "fetch --tags with tagopt=--no-tags gets tag" ' + git fetch --tags remote_one && + (git show-ref tag_one) + ' + +test_expect_success "fetch --no-tags with tagopt=--tags does not get tag" ' + git fetch --no-tags remote_two && + ! (git show-ref tag_two) + ' + +test_expect_success "fetch with tagopt=--tags gets tag" ' + git fetch remote_two && + (git show-ref tag_two) + ' +test_done -- 1.7.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html