t / t5525-fetch-tagopt.shon commit untracked-cache: be defensive about missing NULs in index (c6909f9)
   1#!/bin/sh
   2
   3test_description='tagopt variable affects "git fetch" and is overridden by commandline.'
   4
   5. ./test-lib.sh
   6
   7setup_clone () {
   8        git clone --mirror . $1 &&
   9        git remote add remote_$1 $1 &&
  10        (cd $1 &&
  11        git tag tag_$1 &&
  12        git branch branch_$1)
  13}
  14
  15test_expect_success setup '
  16        test_commit test &&
  17        setup_clone one &&
  18        git config remote.remote_one.tagopt --no-tags &&
  19        setup_clone two &&
  20        git config remote.remote_two.tagopt --tags
  21        '
  22
  23test_expect_success "fetch with tagopt=--no-tags does not get tag" '
  24        git fetch remote_one &&
  25        test_must_fail git show-ref tag_one &&
  26        git show-ref remote_one/branch_one
  27        '
  28
  29test_expect_success "fetch --tags with tagopt=--no-tags gets tag" '
  30        (
  31                cd one &&
  32                git branch second_branch_one
  33        ) &&
  34        git fetch --tags remote_one &&
  35        git show-ref tag_one &&
  36        git show-ref remote_one/second_branch_one
  37        '
  38
  39test_expect_success "fetch --no-tags with tagopt=--tags does not get tag" '
  40        git fetch --no-tags remote_two &&
  41        test_must_fail git show-ref tag_two &&
  42        git show-ref remote_two/branch_two
  43        '
  44
  45test_expect_success "fetch with tagopt=--tags gets tag" '
  46        (
  47                cd two &&
  48                git branch second_branch_two
  49        ) &&
  50        git fetch remote_two &&
  51        git show-ref tag_two &&
  52        git show-ref remote_two/second_branch_two
  53        '
  54test_done