t / t2202-add-addremove.shon commit Merge branch 'jk/ambiguous-short-object-names' (66c22ba)
   1#!/bin/sh
   2
   3test_description='git add --all'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8        (
   9                echo .gitignore
  10                echo will-remove
  11        ) >expect &&
  12        (
  13                echo actual
  14                echo expect
  15                echo ignored
  16        ) >.gitignore &&
  17        git --literal-pathspecs add --all &&
  18        >will-remove &&
  19        git add --all &&
  20        test_tick &&
  21        git commit -m initial &&
  22        git ls-files >actual &&
  23        test_cmp expect actual
  24'
  25
  26test_expect_success 'git add --all' '
  27        (
  28                echo .gitignore
  29                echo not-ignored
  30                echo "M .gitignore"
  31                echo "A not-ignored"
  32                echo "D will-remove"
  33        ) >expect &&
  34        >ignored &&
  35        >not-ignored &&
  36        echo modification >>.gitignore &&
  37        rm -f will-remove &&
  38        git add --all &&
  39        git update-index --refresh &&
  40        git ls-files >actual &&
  41        git diff-index --name-status --cached HEAD >>actual &&
  42        test_cmp expect actual
  43'
  44
  45test_expect_success 'Just "git add" is a no-op' '
  46        git reset --hard &&
  47        echo >will-remove &&
  48        >will-not-be-added &&
  49        git add &&
  50        git diff-index --name-status --cached HEAD >actual &&
  51        >expect &&
  52        test_cmp expect actual
  53'
  54
  55test_done