]>
Commit | Line | Data |
---|---|---|
83e77a25 JH |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2006 Junio C Hamano | |
4 | # | |
5 | ||
5be60078 | 6 | test_description='git update-index --again test. |
83e77a25 JH |
7 | ' |
8 | ||
9 | . ./test-lib.sh | |
10 | ||
c7053aa8 EW |
11 | cat > expected <<\EOF |
12 | 100644 3b18e512dba79e4c8300dd08aeb37f8e728b8dad 0 file1 | |
13 | 100644 9db8893856a8a02eaa73470054b7c1c5a7c82e47 0 file2 | |
14 | EOF | |
83e77a25 JH |
15 | test_expect_success 'update-index --add' \ |
16 | 'echo hello world >file1 && | |
17 | echo goodbye people >file2 && | |
5be60078 JH |
18 | git update-index --add file1 file2 && |
19 | git ls-files -s >current && | |
c7053aa8 | 20 | cmp current expected' |
83e77a25 JH |
21 | |
22 | test_expect_success 'update-index --again' \ | |
23 | 'rm -f file1 && | |
24 | echo hello everybody >file2 && | |
5be60078 | 25 | if git update-index --again |
83e77a25 JH |
26 | then |
27 | echo should have refused to remove file1 | |
28 | exit 1 | |
29 | else | |
30 | echo happy - failed as expected | |
31 | fi && | |
5be60078 | 32 | git ls-files -s >current && |
c7053aa8 | 33 | cmp current expected' |
83e77a25 | 34 | |
c7053aa8 EW |
35 | cat > expected <<\EOF |
36 | 100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2 | |
37 | EOF | |
83e77a25 | 38 | test_expect_success 'update-index --remove --again' \ |
5be60078 JH |
39 | 'git update-index --remove --again && |
40 | git ls-files -s >current && | |
c7053aa8 | 41 | cmp current expected' |
83e77a25 | 42 | |
0cb0e143 | 43 | test_expect_success 'first commit' 'git commit -m initial' |
83e77a25 | 44 | |
c7053aa8 EW |
45 | cat > expected <<\EOF |
46 | 100644 53ab446c3f4e42ce9bb728a0ccb283a101be4979 0 dir1/file3 | |
47 | 100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2 | |
48 | EOF | |
83e77a25 JH |
49 | test_expect_success 'update-index again' \ |
50 | 'mkdir -p dir1 && | |
51 | echo hello world >dir1/file3 && | |
52 | echo goodbye people >file2 && | |
5be60078 | 53 | git update-index --add file2 dir1/file3 && |
a48fcd83 | 54 | echo hello everybody >file2 && |
83e77a25 | 55 | echo happy >dir1/file3 && |
5be60078 JH |
56 | git update-index --again && |
57 | git ls-files -s >current && | |
c7053aa8 | 58 | cmp current expected' |
83e77a25 | 59 | |
c7053aa8 EW |
60 | cat > expected <<\EOF |
61 | 100644 d7fb3f695f06c759dbf3ab00046e7cc2da22d10f 0 dir1/file3 | |
62 | 100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2 | |
63 | EOF | |
83e77a25 JH |
64 | test_expect_success 'update-index --update from subdir' \ |
65 | 'echo not so happy >file2 && | |
fd4ec4f2 | 66 | (cd dir1 && |
83e77a25 | 67 | cat ../file2 >file3 && |
fd4ec4f2 JL |
68 | git update-index --again |
69 | ) && | |
5be60078 | 70 | git ls-files -s >current && |
c7053aa8 | 71 | cmp current expected' |
83e77a25 | 72 | |
c7053aa8 EW |
73 | cat > expected <<\EOF |
74 | 100644 594fb5bb1759d90998e2bf2a38261ae8e243c760 0 dir1/file3 | |
75 | 100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2 | |
76 | EOF | |
22293b9c JH |
77 | test_expect_success 'update-index --update with pathspec' \ |
78 | 'echo very happy >file2 && | |
79 | cat file2 >dir1/file3 && | |
5be60078 JH |
80 | git update-index --again dir1/ && |
81 | git ls-files -s >current && | |
c7053aa8 | 82 | cmp current expected' |
83e77a25 | 83 | |
22293b9c | 84 | test_done |