blob: 9ee659098c45fbc18dfb5ccc2292f978320c1ebb [file] [log] [blame]
Junio C Hamano340ce9e2008-07-19 20:32:38 -07001#!/bin/sh
2
3test_description='git add --all'
4
5. ./test-lib.sh
6
7test_expect_success setup '
8 (
Eric Sunshine2c2d0f92018-07-01 20:23:57 -04009 echo .gitignore &&
Junio C Hamano340ce9e2008-07-19 20:32:38 -070010 echo will-remove
11 ) >expect &&
12 (
Eric Sunshine2c2d0f92018-07-01 20:23:57 -040013 echo actual &&
14 echo expect &&
Junio C Hamano340ce9e2008-07-19 20:32:38 -070015 echo ignored
16 ) >.gitignore &&
Junio C Hamano29abb332015-10-24 19:31:11 -070017 git --literal-pathspecs add --all &&
Junio C Hamano340ce9e2008-07-19 20:32:38 -070018 >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 (
Eric Sunshine2c2d0f92018-07-01 20:23:57 -040028 echo .gitignore &&
29 echo not-ignored &&
30 echo "M .gitignore" &&
31 echo "A not-ignored" &&
Junio C Hamano340ce9e2008-07-19 20:32:38 -070032 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
Junio C Hamano76b62352013-07-19 20:57:01 -070045test_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 &&
Ævar Arnfjörð Bjarmasond3c67512018-07-27 17:48:11 +000051 test_must_be_empty actual
Junio C Hamano76b62352013-07-19 20:57:01 -070052'
53
Junio C Hamano340ce9e2008-07-19 20:32:38 -070054test_done