filter-branch: handle filenames that need quoting
[git/git.git] / t / t7502-status.sh
CommitLineData
367c9886
JS
1#!/bin/sh
2#
3# Copyright (c) 2007 Johannes E. Schindelin
4#
5
6test_description='git-status'
7
8. ./test-lib.sh
9
10test_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 . &&
ff58b9aa
JK
20
21 git status >output &&
22
367c9886
JS
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'
33
ff58b9aa
JK
34test_expect_success 'status (1)' '
35
36 grep -e "use \"git rm --cached <file>\.\.\.\" to unstage" output
37
38'
39
367c9886
JS
40cat > 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
61EOF
62
ff58b9aa 63test_expect_success 'status (2)' '
367c9886
JS
64
65 git status > output &&
66 git diff expect output
67
68'
69
70cat > 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#
69e74918 80# modified: modified
367c9886
JS
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
91EOF
92
93test_expect_success 'status with relative paths' '
94
95 (cd dir1 && git status) > output &&
96 git diff expect output
97
98'
99
46f721c8
JK
100cat > expect << \EOF
101# On branch master
102# Changes to be committed:
103# (use "git reset HEAD <file>..." to unstage)
104#
105# new file: dir2/added
106#
107# Changed but not updated:
108# (use "git add <file>..." to update what will be committed)
109#
110# modified: dir1/modified
111#
112# Untracked files:
113# (use "git add <file>..." to include in what will be committed)
114#
115# dir1/untracked
116# dir2/modified
117# dir2/untracked
118# expect
119# output
120# untracked
121EOF
122
123test_expect_success 'status without relative paths' '
124
125 git config status.relativePaths false
126 (cd dir1 && git status) > output &&
127 git diff expect output
128
129'
130
367c9886 131test_done