Merge branch 'ak/add-i-empty-candidates' into maint
[git] / t / t2202-add-addremove.sh
1 #!/bin/sh
2
3 test_description='git add --all'
4
5 . ./test-lib.sh
6
7 test_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         >will-remove &&
18         git add --all &&
19         test_tick &&
20         git commit -m initial &&
21         git ls-files >actual &&
22         test_cmp expect actual
23 '
24
25 test_expect_success 'git add --all' '
26         (
27                 echo .gitignore
28                 echo not-ignored
29                 echo "M .gitignore"
30                 echo "A not-ignored"
31                 echo "D will-remove"
32         ) >expect &&
33         >ignored &&
34         >not-ignored &&
35         echo modification >>.gitignore &&
36         rm -f will-remove &&
37         git add --all &&
38         git update-index --refresh &&
39         git ls-files >actual &&
40         git diff-index --name-status --cached HEAD >>actual &&
41         test_cmp expect actual
42 '
43
44 test_expect_success 'Just "git add" is a no-op' '
45         git reset --hard &&
46         echo >will-remove &&
47         >will-not-be-added &&
48         git add &&
49         git diff-index --name-status --cached HEAD >actual &&
50         >expect &&
51         test_cmp expect actual
52 '
53
54 test_done