t / t7106-reset-unborn-branch.shon commit Git 2.5.6 (ac33201)
   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 >output &&
  41
  42        >expect &&
  43        git ls-files >actual &&
  44        test_cmp expect actual &&
  45        test_i18ngrep "Unstage" output
  46'
  47
  48test_expect_success 'reset --soft is a no-op' '
  49        rm .git/index &&
  50        git add a &&
  51        git reset --soft &&
  52
  53        echo a >expect &&
  54        git ls-files >actual &&
  55        test_cmp expect actual
  56'
  57
  58test_expect_success 'reset --hard' '
  59        rm .git/index &&
  60        git add a &&
  61        test_when_finished "echo a >a" &&
  62        git reset --hard &&
  63
  64        >expect &&
  65        git ls-files >actual &&
  66        test_cmp expect actual &&
  67        test_path_is_missing a
  68'
  69
  70test_done