t / t7106-reset-unborn-branch.shon commit Sync with 'maint' (ea21efc)
   1#!/bin/sh
   2
   3test_description='git reset should work on unborn branch'
   4. ./test-lib.sh
   5
   6test_expect_success 'setup' '
   7        echo a >a &&
   8        echo b >b
   9'
  10
  11test_expect_success 'reset' '
  12        git add a b &&
  13        git reset &&
  14
  15        >expect &&
  16        git ls-files >actual &&
  17        test_cmp expect actual
  18'
  19
  20test_expect_success 'reset HEAD' '
  21        rm .git/index &&
  22        git add a b &&
  23        test_must_fail git reset HEAD
  24'
  25
  26test_expect_success 'reset $file' '
  27        rm .git/index &&
  28        git add a b &&
  29        git reset a &&
  30
  31        echo b >expect &&
  32        git ls-files >actual &&
  33        test_cmp expect actual
  34'
  35
  36test_expect_success PERL 'reset -p' '
  37        rm .git/index &&
  38        git add a &&
  39        echo y >yes &&
  40        git reset -p <yes &&
  41
  42        >expect &&
  43        git ls-files >actual &&
  44        test_cmp expect actual
  45'
  46
  47test_expect_success 'reset --soft is a no-op' '
  48        rm .git/index &&
  49        git add a &&
  50        git reset --soft &&
  51
  52        echo a >expect &&
  53        git ls-files >actual &&
  54        test_cmp expect actual
  55'
  56
  57test_expect_success 'reset --hard' '
  58        rm .git/index &&
  59        git add a &&
  60        test_when_finished "echo a >a" &&
  61        git reset --hard &&
  62
  63        >expect &&
  64        git ls-files >actual &&
  65        test_cmp expect actual &&
  66        test_path_is_missing a
  67'
  68
  69test_done