Merge branch 'fc/master' into travis-ci
[git] / t / t2205-add-new.sh
1 #!/bin/sh
2
3 test_description='git add v2.0 behavior'
4
5 . ./test-lib.sh
6
7 test_expect_success setup '
8         mkdir dir1 &&
9         echo one > dir1/content &&
10         echo one > dir1/to-remove &&
11         git add . &&
12         git commit -m one
13 '
14
15 test_expect_success 'update in dir throws warning' '
16         test_when_finished "git reset --hard" &&
17         echo two > dir1/content &&
18         mkdir -p dir2 &&
19         (
20         cd dir2 &&
21         git add -u 2> err &&
22         cat err &&
23         grep "will change in Git 2.0" err
24         )
25 '
26
27 test_expect_success 'update in dir updates everything' '
28         test_when_finished "git reset --hard" &&
29         test_config core.mode next &&
30         echo two > dir1/content &&
31         mkdir -p dir2 &&
32         (
33         cd dir2 &&
34         git add -u 2> err &&
35         cat err &&
36         ! grep "will change in Git 2.0" err
37         ) &&
38         test "$(git ls-files -m)" = ""
39 '
40
41 test_expect_success 'default to ignore removal' '
42         test_when_finished "git reset --hard" &&
43         rm dir1/to-remove &&
44         git add dir1 2> err &&
45         cat err &&
46         grep "will change in Git 2.0" err &&
47         test "$(git ls-files -c)" != "dir1/content"
48 '
49
50 test_expect_success 'default adds removals' '
51         test_when_finished "git reset --hard" &&
52         test_config core.mode next &&
53         rm dir1/to-remove &&
54         git add dir1 2> err &&
55         cat err &&
56         ! grep "will change in Git 2.0" err &&
57         test "$(git ls-files -c)" = "dir1/content"
58 '
59
60 test_done