Mercurial > hg
annotate tests/test-keyword @ 6025:f2335246e5c7
filemerge: wrap quotes around tool path
author | Steve Borho <steve@borho.org> |
---|---|
date | Mon, 04 Feb 2008 19:38:34 -0600 |
parents | e181665c1c79 |
children | 1038b1458d7a |
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 = |
5816 | 7 [keyword] |
8 * = | |
9 b = ignore | |
10 [hooks] | |
11 commit= | |
12 commit.test=cp a hooktest | |
13 EOF | |
14 | |
15 echo % help | |
16 hg help keyword | |
17 | |
18 echo % hg kwdemo | |
19 hg --quiet kwdemo --default \ | |
20 | sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \ | |
21 -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \ | |
22 -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \ | |
23 -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!' | |
24 | |
25 hg --quiet kwdemo "Branch = {branches}" | |
26 | |
27 hg init Test | |
28 cd Test | |
29 | |
30 echo % kwshrink should exit silently in empty/invalid repo | |
31 hg kwshrink | |
32 | |
33 echo 'expand $Id$' > a | |
34 echo 'do not process $Id:' >> a | |
35 echo 'xxx $' >> a | |
36 echo 'ignore $Id$' > b | |
37 ln -s a sym | |
38 echo % cat | |
39 cat sym a b | |
40 | |
41 echo % addremove | |
42 hg addremove | |
43 echo % status | |
44 hg status | |
45 | |
46 echo % default keyword expansion including commit hook | |
47 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
|
48 hg --debug commit |
5816 | 49 echo % status |
50 hg status | |
51 | |
52 echo % commit | |
53 hg --debug commit -mabsym -d '0 0' -u 'User Name <user@example.com>' | |
54 echo % status | |
55 hg status | |
56 echo % identify | |
57 hg --quiet identify | |
58 echo % cat | |
59 cat sym a b | |
60 echo % hg cat | |
61 hg cat sym a b | |
62 | |
63 echo | |
64 echo % diff a hooktest | |
65 diff a hooktest | |
66 | |
67 echo % removing commit hook from config | |
68 sed -e '/\[hooks\]/,$ d' $HGRCPATH > $HGRCPATH.nohook | |
69 mv $HGRCPATH.nohook $HGRCPATH | |
70 rm hooktest | |
71 | |
72 echo % touch | |
73 touch a b | |
74 echo % status | |
75 hg status | |
76 | |
77 rm sym a b | |
78 echo % update | |
79 hg update | |
80 echo % cat | |
81 cat sym a b | |
82 | |
5856
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
83 echo % check whether expansion is filewise |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
84 echo '$Id$' > c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
85 echo 'tests for different changenodes' >> c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
86 echo % commit c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
87 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
|
88 echo % force expansion |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
89 hg -v kwexpand |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
90 echo % compare changenodes in a c |
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
91 cat a c |
5894
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
92 |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
93 echo % qimport |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
94 hg qimport -r tip -n mqtest.diff |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
95 echo % keywords should not be expanded in patch |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
96 cat .hg/patches/mqtest.diff |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
97 echo % qpop |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
98 hg qpop |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
99 echo % qgoto - should imply qpush |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
100 hg qgoto mqtest.diff |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
101 echo % cat |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
102 cat c |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
103 echo % qpop and move on |
e181665c1c79
keyword: add very simple mq test
Christian Ebert <blacktrash@gmx.net>
parents:
5856
diff
changeset
|
104 hg qpop |
5856
85888efbdfff
keyword: test that expansion is done filewise
Christian Ebert <blacktrash@gmx.net>
parents:
5855
diff
changeset
|
105 |
5816 | 106 echo % copy |
107 hg cp a c | |
108 | |
109 echo % kwfiles added | |
110 hg kwfiles | |
111 | |
112 echo % commit | |
113 hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>' | |
114 echo % cat a c | |
115 cat a c | |
116 echo % touch copied c after 1 second | |
117 sleep 1 | |
118 touch c | |
119 echo % status | |
120 hg status | |
121 | |
122 echo % kwfiles | |
123 hg kwfiles | |
124 | |
125 echo % diff --rev | |
126 hg diff --rev 0 | grep -v 'b/c' | |
127 | |
128 echo % rollback | |
129 hg rollback | |
130 echo % status | |
131 hg status | |
132 echo % update -C | |
133 hg update --clean | |
134 | |
135 echo % custom keyword expansion | |
136 echo % try with kwdemo | |
137 hg --quiet kwdemo "Xinfo = {author}: {desc}" | |
138 | |
139 cat <<EOF >>$HGRCPATH | |
140 [keywordmaps] | |
141 Id = {file} {node|short} {date|rfc822date} {author|user} | |
142 Xinfo = {author}: {desc} | |
143 EOF | |
144 | |
145 echo % cat | |
146 cat sym a b | |
147 echo % hg cat | |
148 hg cat sym a b | |
149 | |
150 echo | |
151 echo '$Xinfo$' >> a | |
152 cat <<EOF >> log | |
153 firstline | |
154 secondline | |
155 EOF | |
156 | |
157 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
|
158 hg commit |
5816 | 159 echo % status |
160 hg status | |
161 | |
162 echo % commit | |
163 hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>' | |
164 rm log | |
165 echo % status | |
166 hg status | |
167 | |
168 echo % cat | |
169 cat sym a b | |
170 echo % hg cat | |
171 hg cat sym a b | |
172 echo | |
173 | |
174 echo % remove | |
175 hg remove a | |
176 hg --debug commit -m rma | |
177 echo % status | |
178 hg status | |
179 echo % rollback | |
180 hg rollback | |
181 echo % status | |
182 hg status | |
183 echo % revert a | |
184 hg revert --no-backup --rev tip a | |
185 echo % cat a | |
186 cat a | |
187 | |
188 echo % clone to test incoming | |
189 cd .. | |
190 hg clone -r0 Test Test-a | |
191 cd Test-a | |
192 cat <<EOF >> .hg/hgrc | |
193 [paths] | |
194 default = ../Test | |
195 EOF | |
196 echo % incoming | |
197 # remove path to temp dir | |
198 hg incoming | sed -e 's/^\(comparing with \).*\(test-keyword.*\)/\1\2/' | |
199 | |
5839
59fba5caa94b
Don't use the -i option with sed
Will Maier <willmaier@ml1.net>
parents:
5816
diff
changeset
|
200 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
|
201 mv a.new a |
5816 | 202 echo % commit rejecttest |
203 hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>' | |
204 echo % export | |
205 hg export -o ../rejecttest.diff tip | |
206 | |
207 cd ../Test | |
208 echo % import | |
209 hg import ../rejecttest.diff | |
210 echo % cat | |
211 cat sym a b | |
212 echo | |
213 echo % rollback | |
214 hg rollback | |
215 echo % clean update | |
216 hg update --clean | |
217 | |
218 echo % kwexpand/kwshrink on selected files | |
219 mkdir x | |
220 echo % copy a x/a | |
221 hg copy a x/a | |
222 echo % kwexpand a | |
223 hg --verbose kwexpand a | |
224 echo % kwexpand x/a should abort | |
225 hg --verbose kwexpand x/a | |
226 cd x | |
227 hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>' | |
228 echo % cat a | |
229 cat a | |
230 echo % kwshrink a inside directory x | |
231 hg --verbose kwshrink a | |
232 echo % cat a | |
233 cat a | |
5855
a6ccb957fd07
Solaris compatibility fixes for test-keyword:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5839
diff
changeset
|
234 cd .. |
5816 | 235 |
236 echo % kwexpand nonexistent | |
237 hg kwexpand nonexistent | |
238 | |
239 echo % switch off expansion | |
240 echo % kwshrink with unknown file u | |
241 cp a u | |
242 hg --verbose kwshrink | |
243 echo % cat | |
244 cat sym a b | |
245 echo % hg cat | |
246 hg cat sym a b | |
247 echo | |
248 rm $HGRCPATH | |
249 echo % cat | |
250 cat sym a b | |
251 echo % hg cat | |
252 hg cat sym a b | |
253 echo |