| #!/bin/sh |
| |
| test_description='tagopt variable affects "git fetch" and is overridden by commandline.' |
| |
| TEST_PASSES_SANITIZE_LEAK=true |
| . ./test-lib.sh |
| |
| setup_clone () { |
| git clone --mirror . $1 && |
| git remote add remote_$1 $1 && |
| (cd $1 && |
| git tag tag_$1 && |
| git branch branch_$1) |
| } |
| |
| test_expect_success setup ' |
| test_commit test && |
| 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 && |
| test_must_fail git show-ref tag_one && |
| git show-ref remote_one/branch_one |
| ' |
| |
| test_expect_success "fetch --tags with tagopt=--no-tags gets tag" ' |
| ( |
| cd one && |
| git branch second_branch_one |
| ) && |
| git fetch --tags remote_one && |
| git show-ref tag_one && |
| git show-ref remote_one/second_branch_one |
| ' |
| |
| test_expect_success "fetch --no-tags with tagopt=--tags does not get tag" ' |
| git fetch --no-tags remote_two && |
| test_must_fail git show-ref tag_two && |
| git show-ref remote_two/branch_two |
| ' |
| |
| test_expect_success "fetch with tagopt=--tags gets tag" ' |
| ( |
| cd two && |
| git branch second_branch_two |
| ) && |
| git fetch remote_two && |
| git show-ref tag_two && |
| git show-ref remote_two/second_branch_two |
| ' |
| test_done |