t / t5802-connect-helper.shon commit t3030-merge-recursive: test known breakage with empty work tree (29d9af5)
   1#!/bin/sh
   2
   3test_description='ext::cmd remote "connect" helper'
   4. ./test-lib.sh
   5
   6test_expect_success setup '
   7        test_tick &&
   8        git commit --allow-empty -m initial &&
   9        test_tick &&
  10        git commit --allow-empty -m second &&
  11        test_tick &&
  12        git commit --allow-empty -m third &&
  13        test_tick &&
  14        git tag -a -m "tip three" three &&
  15
  16        test_tick &&
  17        git commit --allow-empty -m fourth
  18'
  19
  20test_expect_success clone '
  21        cmd=$(echo "echo >&2 ext::sh invoked && %S .." | sed -e "s/ /% /g") &&
  22        git clone "ext::sh -c %S% ." dst &&
  23        git for-each-ref refs/heads/ refs/tags/ >expect &&
  24        (
  25                cd dst &&
  26                git config remote.origin.url "ext::sh -c $cmd" &&
  27                git for-each-ref refs/heads/ refs/tags/
  28        ) >actual &&
  29        test_cmp expect actual
  30'
  31
  32test_expect_success 'update following tag' '
  33        test_tick &&
  34        git commit --allow-empty -m fifth &&
  35        test_tick &&
  36        git tag -a -m "tip five" five &&
  37        git for-each-ref refs/heads/ refs/tags/ >expect &&
  38        (
  39                cd dst &&
  40                git pull &&
  41                git for-each-ref refs/heads/ refs/tags/ >../actual
  42        ) &&
  43        test_cmp expect actual
  44'
  45
  46test_expect_success 'update backfilled tag' '
  47        test_tick &&
  48        git commit --allow-empty -m sixth &&
  49        test_tick &&
  50        git tag -a -m "tip two" two three^1 &&
  51        git for-each-ref refs/heads/ refs/tags/ >expect &&
  52        (
  53                cd dst &&
  54                git pull &&
  55                git for-each-ref refs/heads/ refs/tags/ >../actual
  56        ) &&
  57        test_cmp expect actual
  58'
  59
  60test_expect_success 'update backfilled tag without primary transfer' '
  61        test_tick &&
  62        git tag -a -m "tip one " one two^1 &&
  63        git for-each-ref refs/heads/ refs/tags/ >expect &&
  64        (
  65                cd dst &&
  66                git pull &&
  67                git for-each-ref refs/heads/ refs/tags/ >../actual
  68        ) &&
  69        test_cmp expect actual
  70'
  71
  72test_done