Mercurial > hg
annotate tests/test-keyword @ 6200:acc40572da5b
'hg status -q' output skips non-tracked files.
The '-q' flag was ignored in status command. But this flag
can be used to hide non-tracked files in hg status output.
This small correction makes status command more general,
similar to 'svn status', where '-q' flag has the same effect.
The '-u' and '-A' flags have priority over '-q'.
A testcase and doc-string for status was extended to cover
'-q' flag.
author | Zoran Bosnjak <zoran.bosnjak@via.si> |
---|---|
date | Sat, 01 Mar 2008 22:30:03 +0100 |
parents | 09b00faa8670 |
children | 991f7518c3f3 |
rev | line source |
---|---|
5816 | 1 #!/bin/sh |
2 | |
3 cat <<EOF >> $HGRCPATH | |
4 [extensions] | |
5 hgext.keyword = | |
5894
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
6 hgext.mq = |
6116
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
7 hgext.notify = |
5816 | 8 [keyword] |
9 * = | |
10 b = ignore | |
11 [hooks] | |
12 commit= | |
13 commit.test=cp a hooktest | |
14 EOF | |
15 | |
16 echo % help | |
17 hg help keyword | |
18 | |
19 echo % hg kwdemo | |
20 hg --quiet kwdemo --default \ | |
21 | sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \ | |
22 -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \ | |
23 -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \ | |
24 -e 's! 20[0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-6][0-9]:[0-6][0-9]! 2000/00/00 00:00:00!' | |
25 | |
26 hg --quiet kwdemo "Branch = {branches}" | |
27 | |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
28 hg init Test-bndl |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
29 cd Test-bndl |
5816 | 30 |
31 echo % kwshrink should exit silently in empty/invalid repo | |
32 hg kwshrink | |
33 | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
34 # Symlinks cannot be created on Windows. The bundle was made with: |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
35 # |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
36 # hg init t |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
37 # cd t |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
38 # echo a > a |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
39 # ln -s a sym |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
40 # hg add sym |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
41 # hg ci -m addsym -u mercurial |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
42 # hg bundle --base null ../test-keyword.hg |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
43 # |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
44 hg pull -u "$TESTDIR/test-keyword.hg" \ |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
45 | sed 's/pulling from.*test-keyword.hg/pulling from test-keyword.hg/' |
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
46 |
5816 | 47 echo 'expand $Id$' > a |
48 echo 'do not process $Id:' >> a | |
49 echo 'xxx $' >> a | |
50 echo 'ignore $Id$' > b | |
51 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
52 cat a b |
5816 | 53 |
54 echo % addremove | |
55 hg addremove | |
56 echo % status | |
57 hg status | |
58 | |
59 echo % default keyword expansion including commit hook | |
60 echo % interrupted commit should not change state or run commit hook | |
5855
a6ccb957fd07
Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5839
diff
changeset
|
61 hg --debug commit |
5816 | 62 echo % status |
63 hg status | |
64 | |
65 echo % commit | |
66 hg --debug commit -mabsym -d '0 0' -u 'User Name <user@example.com>' | |
67 echo % status | |
68 hg status | |
69 echo % identify | |
6157
09b00faa8670
keyword: remove "identify" and "remove" from nokwcommands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6116
diff
changeset
|
70 hg debugrebuildstate |
5816 | 71 hg --quiet identify |
72 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
73 cat a b |
5816 | 74 echo % hg cat |
75 hg cat sym a b | |
76 | |
77 echo | |
78 echo % diff a hooktest | |
79 diff a hooktest | |
80 | |
81 echo % removing commit hook from config | |
82 sed -e '/\[hooks\]/,$ d' $HGRCPATH > $HGRCPATH.nohook | |
83 mv $HGRCPATH.nohook $HGRCPATH | |
84 rm hooktest | |
85 | |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
86 echo % bundle |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
87 hg bundle --base null ../kw.hg |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
88 |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
89 cd .. |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
90 hg init Test |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
91 cd Test |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
92 |
6116
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
93 echo % notify on pull to check whether keywords stay as is in email |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
94 echo % ie. if patch.diff wrapper acts as it should |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
95 |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
96 cat <<EOF >> $HGRCPATH |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
97 [hooks] |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
98 incoming.notify = python:hgext.notify.hook |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
99 [notify] |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
100 sources = pull |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
101 diffstat = False |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
102 [reposubs] |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
103 * = Test |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
104 EOF |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
105 |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
106 echo % pull from bundle |
6116
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
107 hg pull -u ../kw.hg 2>&1 | sed -e '/^Date:/,/^diffs (/ d' |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
108 |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
109 echo % remove notify config |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
110 sed -e '/\[hooks\]/,$ d' $HGRCPATH > $HGRCPATH.nonotify |
e27f39865d7e
keyword: add test for patch.diff monkey
Christian Ebert <blacktrash@gmx.net>
parents:
6061
diff
changeset
|
111 mv $HGRCPATH.nonotify $HGRCPATH |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
112 |
5816 | 113 echo % touch |
114 touch a b | |
115 echo % status | |
116 hg status | |
117 | |
118 rm sym a b | |
119 echo % update | |
120 hg update | |
121 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
122 cat a b |
5816 | 123 |
5856
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
124 echo % check whether expansion is filewise |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
125 echo '$Id$' > c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
126 echo 'tests for different changenodes' >> c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
127 echo % commit c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
128 hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>' |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
129 echo % force expansion |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
130 hg -v kwexpand |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
131 echo % compare changenodes in a c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
132 cat a c |
5894
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
133 |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
134 echo % qinit -c |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
135 hg qinit -c |
5894
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
136 echo % qimport |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
137 hg qimport -r tip -n mqtest.diff |
6051
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
138 echo % qcommit |
1038b1458d7a
keyword: safeguards against erroneous behaviour or aborts
Christian Ebert <blacktrash@gmx.net>
parents:
5894
diff
changeset
|
139 hg qcommit -mqtest |
5894
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
140 echo % keywords should not be expanded in patch |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
141 cat .hg/patches/mqtest.diff |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
142 echo % qpop |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
143 hg qpop |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
144 echo % qgoto - should imply qpush |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
145 hg qgoto mqtest.diff |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
146 echo % cat |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
147 cat c |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
148 echo % qpop and move on |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
149 hg qpop |
5856
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
150 |
5816 | 151 echo % copy |
152 hg cp a c | |
153 | |
154 echo % kwfiles added | |
155 hg kwfiles | |
156 | |
157 echo % commit | |
158 hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>' | |
159 echo % cat a c | |
160 cat a c | |
161 echo % touch copied c after 1 second | |
162 sleep 1 | |
163 touch c | |
164 echo % status | |
165 hg status | |
166 | |
167 echo % kwfiles | |
168 hg kwfiles | |
169 | |
170 echo % diff --rev | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
171 hg diff --rev 1 | grep -v 'b/c' |
5816 | 172 |
173 echo % rollback | |
174 hg rollback | |
175 echo % status | |
176 hg status | |
177 echo % update -C | |
178 hg update --clean | |
179 | |
180 echo % custom keyword expansion | |
181 echo % try with kwdemo | |
182 hg --quiet kwdemo "Xinfo = {author}: {desc}" | |
183 | |
184 cat <<EOF >>$HGRCPATH | |
185 [keywordmaps] | |
186 Id = {file} {node|short} {date|rfc822date} {author|user} | |
187 Xinfo = {author}: {desc} | |
188 EOF | |
189 | |
190 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
191 cat a b |
5816 | 192 echo % hg cat |
193 hg cat sym a b | |
194 | |
195 echo | |
196 echo '$Xinfo$' >> a | |
197 cat <<EOF >> log | |
198 firstline | |
199 secondline | |
200 EOF | |
201 | |
202 echo % interrupted commit should not change state | |
5855
a6ccb957fd07
Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5839
diff
changeset
|
203 hg commit |
5816 | 204 echo % status |
205 hg status | |
206 | |
207 echo % commit | |
208 hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>' | |
209 rm log | |
210 echo % status | |
211 hg status | |
212 | |
213 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
214 cat a b |
5816 | 215 echo % hg cat |
216 hg cat sym a b | |
217 echo | |
218 | |
219 echo % remove | |
6157
09b00faa8670
keyword: remove "identify" and "remove" from nokwcommands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6116
diff
changeset
|
220 hg debugrebuildstate |
5816 | 221 hg remove a |
222 hg --debug commit -m rma | |
223 echo % status | |
224 hg status | |
225 echo % rollback | |
226 hg rollback | |
227 echo % status | |
228 hg status | |
229 echo % revert a | |
230 hg revert --no-backup --rev tip a | |
231 echo % cat a | |
232 cat a | |
233 | |
234 echo % clone to test incoming | |
235 cd .. | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
236 hg clone -r1 Test Test-a |
5816 | 237 cd Test-a |
238 cat <<EOF >> .hg/hgrc | |
239 [paths] | |
240 default = ../Test | |
241 EOF | |
242 echo % incoming | |
243 # remove path to temp dir | |
244 hg incoming | sed -e 's/^\(comparing with \).*\(test-keyword.*\)/\1\2/' | |
245 | |
5839
59fba5caa94b
Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents:
5816
diff
changeset
|
246 sed -e 's/Id.*/& rejecttest/' a > a.new |
59fba5caa94b
Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents:
5816
diff
changeset
|
247 mv a.new a |
5816 | 248 echo % commit rejecttest |
249 hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>' | |
250 echo % export | |
251 hg export -o ../rejecttest.diff tip | |
252 | |
253 cd ../Test | |
254 echo % import | |
255 hg import ../rejecttest.diff | |
256 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
257 cat a b |
5816 | 258 echo |
259 echo % rollback | |
260 hg rollback | |
261 echo % clean update | |
262 hg update --clean | |
263 | |
264 echo % kwexpand/kwshrink on selected files | |
265 mkdir x | |
266 echo % copy a x/a | |
267 hg copy a x/a | |
268 echo % kwexpand a | |
269 hg --verbose kwexpand a | |
270 echo % kwexpand x/a should abort | |
271 hg --verbose kwexpand x/a | |
272 cd x | |
273 hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>' | |
274 echo % cat a | |
275 cat a | |
276 echo % kwshrink a inside directory x | |
277 hg --verbose kwshrink a | |
278 echo % cat a | |
279 cat a | |
5855
a6ccb957fd07
Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5839
diff
changeset
|
280 cd .. |
5816 | 281 |
282 echo % kwexpand nonexistent | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
283 hg kwexpand nonexistent 2>&1 | sed 's/nonexistent:.*/nonexistent:/' |
5816 | 284 |
285 echo % switch off expansion | |
286 echo % kwshrink with unknown file u | |
287 cp a u | |
288 hg --verbose kwshrink | |
289 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
290 cat a b |
5816 | 291 echo % hg cat |
292 hg cat sym a b | |
293 echo | |
294 rm $HGRCPATH | |
295 echo % cat | |
6061
de08788511d7
test-keyword: make it run under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
6051
diff
changeset
|
296 cat a b |
5816 | 297 echo % hg cat |
298 hg cat sym a b | |
299 echo |