Code

GIT 1.5.4.7
[git.git] / t / t7502-status.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2007 Johannes E. Schindelin
4 #
6 test_description='git-status'
8 . ./test-lib.sh
10 test_expect_success 'setup' '
11         : > tracked &&
12         : > modified &&
13         mkdir dir1 &&
14         : > dir1/tracked &&
15         : > dir1/modified &&
16         mkdir dir2 &&
17         : > dir1/tracked &&
18         : > dir1/modified &&
19         git add . &&
21         git status >output &&
23         test_tick &&
24         git commit -m initial &&
25         : > untracked &&
26         : > dir1/untracked &&
27         : > dir2/untracked &&
28         echo 1 > dir1/modified &&
29         echo 2 > dir2/modified &&
30         echo 3 > dir2/added &&
31         git add dir2/added
32 '
34 test_expect_success 'status (1)' '
36         grep -e "use \"git rm --cached <file>\.\.\.\" to unstage" output
38 '
40 cat > expect << \EOF
41 # On branch master
42 # Changes to be committed:
43 #   (use "git reset HEAD <file>..." to unstage)
44 #
45 #       new file:   dir2/added
46 #
47 # Changed but not updated:
48 #   (use "git add <file>..." to update what will be committed)
49 #
50 #       modified:   dir1/modified
51 #
52 # Untracked files:
53 #   (use "git add <file>..." to include in what will be committed)
54 #
55 #       dir1/untracked
56 #       dir2/modified
57 #       dir2/untracked
58 #       expect
59 #       output
60 #       untracked
61 EOF
63 test_expect_success 'status (2)' '
65         git status > output &&
66         git diff expect output
68 '
70 cat > expect << \EOF
71 # On branch master
72 # Changes to be committed:
73 #   (use "git reset HEAD <file>..." to unstage)
74 #
75 #       new file:   ../dir2/added
76 #
77 # Changed but not updated:
78 #   (use "git add <file>..." to update what will be committed)
79 #
80 #       modified:   modified
81 #
82 # Untracked files:
83 #   (use "git add <file>..." to include in what will be committed)
84 #
85 #       untracked
86 #       ../dir2/modified
87 #       ../dir2/untracked
88 #       ../expect
89 #       ../output
90 #       ../untracked
91 EOF
93 test_expect_success 'status with relative paths' '
95         (cd dir1 && git status) > output &&
96         git diff expect output
98 '
100 cat > expect << \EOF
101 # On branch master
102 # Changes to be committed:
103 #   (use "git reset HEAD <file>..." to unstage)
105 #       new file:   dir2/added
107 # Changed but not updated:
108 #   (use "git add <file>..." to update what will be committed)
110 #       modified:   dir1/modified
112 # Untracked files:
113 #   (use "git add <file>..." to include in what will be committed)
115 #       dir1/untracked
116 #       dir2/modified
117 #       dir2/untracked
118 #       expect
119 #       output
120 #       untracked
121 EOF
123 test_expect_success 'status without relative paths' '
125         git config status.relativePaths false
126         (cd dir1 && git status) > output &&
127         git diff expect output
131 cat <<EOF >expect
132 # On branch master
133 # Changes to be committed:
134 #   (use "git reset HEAD <file>..." to unstage)
136 #       modified:   dir1/modified
138 # Untracked files:
139 #   (use "git add <file>..." to include in what will be committed)
141 #       dir1/untracked
142 #       dir2/
143 #       expect
144 #       output
145 #       untracked
146 EOF
147 test_expect_success 'status of partial commit excluding new file in index' '
148         git status dir1/modified >output &&
149         diff -u expect output
152 test_done