##// END OF EJS Templates
test-extdiff: narrow the range of an '#if execbit' block...
Matt Harbison -
r32210:f41cc3dd default
parent child Browse files
Show More
@@ -1,378 +1,392 b''
1 $ echo "[extensions]" >> $HGRCPATH
1 $ echo "[extensions]" >> $HGRCPATH
2 $ echo "extdiff=" >> $HGRCPATH
2 $ echo "extdiff=" >> $HGRCPATH
3
3
4 $ hg init a
4 $ hg init a
5 $ cd a
5 $ cd a
6 $ echo a > a
6 $ echo a > a
7 $ echo b > b
7 $ echo b > b
8 $ hg add
8 $ hg add
9 adding a
9 adding a
10 adding b
10 adding b
11
11
12 Should diff cloned directories:
12 Should diff cloned directories:
13
13
14 $ hg extdiff -o -r $opt
14 $ hg extdiff -o -r $opt
15 Only in a: a
15 Only in a: a
16 Only in a: b
16 Only in a: b
17 [1]
17 [1]
18
18
19 $ cat <<EOF >> $HGRCPATH
19 $ cat <<EOF >> $HGRCPATH
20 > [extdiff]
20 > [extdiff]
21 > cmd.falabala = echo
21 > cmd.falabala = echo
22 > opts.falabala = diffing
22 > opts.falabala = diffing
23 > cmd.edspace = echo
23 > cmd.edspace = echo
24 > opts.edspace = "name <user@example.com>"
24 > opts.edspace = "name <user@example.com>"
25 > EOF
25 > EOF
26
26
27 $ hg falabala
27 $ hg falabala
28 diffing a.000000000000 a
28 diffing a.000000000000 a
29 [1]
29 [1]
30
30
31 $ hg help falabala
31 $ hg help falabala
32 hg falabala [OPTION]... [FILE]...
32 hg falabala [OPTION]... [FILE]...
33
33
34 use external program to diff repository (or selected files)
34 use external program to diff repository (or selected files)
35
35
36 Show differences between revisions for the specified files, using the
36 Show differences between revisions for the specified files, using the
37 following program:
37 following program:
38
38
39 'echo'
39 'echo'
40
40
41 When two revision arguments are given, then changes are shown between
41 When two revision arguments are given, then changes are shown between
42 those revisions. If only one revision is specified then that revision is
42 those revisions. If only one revision is specified then that revision is
43 compared to the working directory, and, when no revisions are specified,
43 compared to the working directory, and, when no revisions are specified,
44 the working directory files are compared to its parent.
44 the working directory files are compared to its parent.
45
45
46 options ([+] can be repeated):
46 options ([+] can be repeated):
47
47
48 -o --option OPT [+] pass option to comparison program
48 -o --option OPT [+] pass option to comparison program
49 -r --rev REV [+] revision
49 -r --rev REV [+] revision
50 -c --change REV change made by revision
50 -c --change REV change made by revision
51 --patch compare patches for two revisions
51 --patch compare patches for two revisions
52 -I --include PATTERN [+] include names matching the given patterns
52 -I --include PATTERN [+] include names matching the given patterns
53 -X --exclude PATTERN [+] exclude names matching the given patterns
53 -X --exclude PATTERN [+] exclude names matching the given patterns
54 -S --subrepos recurse into subrepositories
54 -S --subrepos recurse into subrepositories
55
55
56 (some details hidden, use --verbose to show complete help)
56 (some details hidden, use --verbose to show complete help)
57
57
58 $ hg ci -d '0 0' -mtest1
58 $ hg ci -d '0 0' -mtest1
59
59
60 $ echo b >> a
60 $ echo b >> a
61 $ hg ci -d '1 0' -mtest2
61 $ hg ci -d '1 0' -mtest2
62
62
63 Should diff cloned files directly:
63 Should diff cloned files directly:
64
64
65 $ hg falabala -r 0:1
65 $ hg falabala -r 0:1
66 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
66 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
67 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
67 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
68 [1]
68 [1]
69
69
70 Specifying an empty revision should abort.
70 Specifying an empty revision should abort.
71
71
72 $ hg extdiff -p diff --patch --rev 'ancestor()' --rev 1
72 $ hg extdiff -p diff --patch --rev 'ancestor()' --rev 1
73 abort: empty revision on one side of range
73 abort: empty revision on one side of range
74 [255]
74 [255]
75
75
76 Test diff during merge:
76 Test diff during merge:
77
77
78 $ hg update -C 0
78 $ hg update -C 0
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
80 $ echo c >> c
80 $ echo c >> c
81 $ hg add c
81 $ hg add c
82 $ hg ci -m "new branch" -d '1 0'
82 $ hg ci -m "new branch" -d '1 0'
83 created new head
83 created new head
84 $ hg merge 1
84 $ hg merge 1
85 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
85 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
86 (branch merge, don't forget to commit)
86 (branch merge, don't forget to commit)
87
87
88 Should diff cloned file against wc file:
88 Should diff cloned file against wc file:
89
89
90 $ hg falabala
90 $ hg falabala
91 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "*\\a\\a" (glob) (windows !)
91 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "*\\a\\a" (glob) (windows !)
92 diffing */extdiff.*/a.2a13a4d2da36/a */a/a (glob) (no-windows !)
92 diffing */extdiff.*/a.2a13a4d2da36/a */a/a (glob) (no-windows !)
93 [1]
93 [1]
94
94
95
95
96 Test --change option:
96 Test --change option:
97
97
98 $ hg ci -d '2 0' -mtest3
98 $ hg ci -d '2 0' -mtest3
99
99
100 $ hg falabala -c 1
100 $ hg falabala -c 1
101 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
101 diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
102 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
102 diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
103 [1]
103 [1]
104
104
105 Check diff are made from the first parent:
105 Check diff are made from the first parent:
106
106
107 $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
107 $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
108 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "a.46c0e4daeb72\\a" (glob) (windows !)
108 diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "a.46c0e4daeb72\\a" (glob) (windows !)
109 diffing */extdiff.*/a.2a13a4d2da36/a a.46c0e4daeb72/a (glob) (no-windows !)
109 diffing */extdiff.*/a.2a13a4d2da36/a a.46c0e4daeb72/a (glob) (no-windows !)
110 diff-like tools yield a non-zero exit code
110 diff-like tools yield a non-zero exit code
111
111
112 issue3153: ensure using extdiff with removed subrepos doesn't crash:
112 issue3153: ensure using extdiff with removed subrepos doesn't crash:
113
113
114 $ hg init suba
114 $ hg init suba
115 $ cd suba
115 $ cd suba
116 $ echo suba > suba
116 $ echo suba > suba
117 $ hg add
117 $ hg add
118 adding suba
118 adding suba
119 $ hg ci -m "adding suba file"
119 $ hg ci -m "adding suba file"
120 $ cd ..
120 $ cd ..
121 $ echo suba=suba > .hgsub
121 $ echo suba=suba > .hgsub
122 $ hg add
122 $ hg add
123 adding .hgsub
123 adding .hgsub
124 $ hg ci -Sm "adding subrepo"
124 $ hg ci -Sm "adding subrepo"
125 $ echo > .hgsub
125 $ echo > .hgsub
126 $ hg ci -m "removing subrepo"
126 $ hg ci -m "removing subrepo"
127 $ hg falabala -r 4 -r 5 -S
127 $ hg falabala -r 4 -r 5 -S
128 diffing a.398e36faf9c6 a.5ab95fb166c4
128 diffing a.398e36faf9c6 a.5ab95fb166c4
129 [1]
129 [1]
130
130
131 issue4463: usage of command line configuration without additional quoting
131 issue4463: usage of command line configuration without additional quoting
132
132
133 $ cat <<EOF >> $HGRCPATH
133 $ cat <<EOF >> $HGRCPATH
134 > [extdiff]
134 > [extdiff]
135 > cmd.4463a = echo
135 > cmd.4463a = echo
136 > opts.4463a = a-naked 'single quoted' "double quoted"
136 > opts.4463a = a-naked 'single quoted' "double quoted"
137 > 4463b = echo b-naked 'single quoted' "double quoted"
137 > 4463b = echo b-naked 'single quoted' "double quoted"
138 > echo =
138 > echo =
139 > EOF
139 > EOF
140 $ hg update -q -C 0
140 $ hg update -q -C 0
141 $ echo a >> a
141 $ echo a >> a
142
142
143 $ hg --debug 4463a | grep '^running'
143 $ hg --debug 4463a | grep '^running'
144 running 'echo a-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
144 running 'echo a-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
145 running 'echo a-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
145 running 'echo a-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
146 $ hg --debug 4463b | grep '^running'
146 $ hg --debug 4463b | grep '^running'
147 running 'echo b-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
147 running 'echo b-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
148 running 'echo b-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
148 running 'echo b-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
149 $ hg --debug echo | grep '^running'
149 $ hg --debug echo | grep '^running'
150 running '*echo* "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
150 running '*echo* "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
151 running '*echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
151 running '*echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
152
152
153 (getting options from other than extdiff section)
153 (getting options from other than extdiff section)
154
154
155 $ cat <<EOF >> $HGRCPATH
155 $ cat <<EOF >> $HGRCPATH
156 > [extdiff]
156 > [extdiff]
157 > # using diff-tools diffargs
157 > # using diff-tools diffargs
158 > 4463b2 = echo
158 > 4463b2 = echo
159 > # using merge-tools diffargs
159 > # using merge-tools diffargs
160 > 4463b3 = echo
160 > 4463b3 = echo
161 > # no diffargs
161 > # no diffargs
162 > 4463b4 = echo
162 > 4463b4 = echo
163 > [diff-tools]
163 > [diff-tools]
164 > 4463b2.diffargs = b2-naked 'single quoted' "double quoted"
164 > 4463b2.diffargs = b2-naked 'single quoted' "double quoted"
165 > [merge-tools]
165 > [merge-tools]
166 > 4463b3.diffargs = b3-naked 'single quoted' "double quoted"
166 > 4463b3.diffargs = b3-naked 'single quoted' "double quoted"
167 > EOF
167 > EOF
168
168
169 $ hg --debug 4463b2 | grep '^running'
169 $ hg --debug 4463b2 | grep '^running'
170 running 'echo b2-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
170 running 'echo b2-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
171 running 'echo b2-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
171 running 'echo b2-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
172 $ hg --debug 4463b3 | grep '^running'
172 $ hg --debug 4463b3 | grep '^running'
173 running 'echo b3-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
173 running 'echo b3-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
174 running 'echo b3-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
174 running 'echo b3-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
175 $ hg --debug 4463b4 | grep '^running'
175 $ hg --debug 4463b4 | grep '^running'
176 running 'echo "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
176 running 'echo "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
177 running 'echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
177 running 'echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
178 $ hg --debug 4463b4 --option b4-naked --option 'being quoted' | grep '^running'
178 $ hg --debug 4463b4 --option b4-naked --option 'being quoted' | grep '^running'
179 running 'echo b4-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
179 running 'echo b4-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
180 running "echo b4-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
180 running "echo b4-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
181 $ hg --debug extdiff -p echo --option echo-naked --option 'being quoted' | grep '^running'
181 $ hg --debug extdiff -p echo --option echo-naked --option 'being quoted' | grep '^running'
182 running 'echo echo-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
182 running 'echo echo-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
183 running "echo echo-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
183 running "echo echo-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
184
184
185 $ touch 'sp ace'
185 $ touch 'sp ace'
186 $ hg add 'sp ace'
186 $ hg add 'sp ace'
187 $ hg ci -m 'sp ace'
187 $ hg ci -m 'sp ace'
188 created new head
188 created new head
189 $ echo > 'sp ace'
189 $ echo > 'sp ace'
190
190
191 Test pre-72a89cf86fcd backward compatibility with half-baked manual quoting
191 Test pre-72a89cf86fcd backward compatibility with half-baked manual quoting
192
192
193 $ cat <<EOF >> $HGRCPATH
193 $ cat <<EOF >> $HGRCPATH
194 > [extdiff]
194 > [extdiff]
195 > odd =
195 > odd =
196 > [merge-tools]
196 > [merge-tools]
197 > odd.diffargs = --foo='\$clabel' '\$clabel' "--bar=\$clabel" "\$clabel"
197 > odd.diffargs = --foo='\$clabel' '\$clabel' "--bar=\$clabel" "\$clabel"
198 > odd.executable = echo
198 > odd.executable = echo
199 > EOF
199 > EOF
200
200
201 $ hg --debug odd | grep '^running'
201 $ hg --debug odd | grep '^running'
202 running '"*\\echo.exe" --foo="sp ace" "sp ace" --bar="sp ace" "sp ace"' in * (glob) (windows !)
202 running '"*\\echo.exe" --foo="sp ace" "sp ace" --bar="sp ace" "sp ace"' in * (glob) (windows !)
203 running "*/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) (no-windows !)
203 running "*/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) (no-windows !)
204
204
205 Empty argument must be quoted
205 Empty argument must be quoted
206
206
207 $ cat <<EOF >> $HGRCPATH
207 $ cat <<EOF >> $HGRCPATH
208 > [extdiff]
208 > [extdiff]
209 > kdiff3 = echo
209 > kdiff3 = echo
210 > [merge-tools]
210 > [merge-tools]
211 > kdiff3.diffargs=--L1 \$plabel1 --L2 \$clabel \$parent \$child
211 > kdiff3.diffargs=--L1 \$plabel1 --L2 \$clabel \$parent \$child
212 > EOF
212 > EOF
213
213
214 $ hg --debug kdiff3 -r0 | grep '^running'
214 $ hg --debug kdiff3 -r0 | grep '^running'
215 running 'echo --L1 "@0" --L2 "" a.8a5febb7f867 a' in * (glob) (windows !)
215 running 'echo --L1 "@0" --L2 "" a.8a5febb7f867 a' in * (glob) (windows !)
216 running "echo --L1 '@0' --L2 '' a.8a5febb7f867 a" in * (glob) (no-windows !)
216 running "echo --L1 '@0' --L2 '' a.8a5febb7f867 a" in * (glob) (no-windows !)
217
217
218 #if execbit
219
218
220 Test extdiff of multiple files in tmp dir:
219 Test extdiff of multiple files in tmp dir:
221
220
222 $ hg update -C 0 > /dev/null
221 $ hg update -C 0 > /dev/null
223 $ echo changed > a
222 $ echo changed > a
224 $ echo changed > b
223 $ echo changed > b
224 #if execbit
225 $ chmod +x b
225 $ chmod +x b
226 #endif
226
227
227 Diff in working directory, before:
228 Diff in working directory, before:
228
229
229 $ hg diff --git
230 $ hg diff --git
230 diff --git a/a b/a
231 diff --git a/a b/a
231 --- a/a
232 --- a/a
232 +++ b/a
233 +++ b/a
233 @@ -1,1 +1,1 @@
234 @@ -1,1 +1,1 @@
234 -a
235 -a
235 +changed
236 +changed
236 diff --git a/b b/b
237 diff --git a/b b/b
237 old mode 100644
238 old mode 100644 (execbit !)
238 new mode 100755
239 new mode 100755 (execbit !)
239 --- a/b
240 --- a/b
240 +++ b/b
241 +++ b/b
241 @@ -1,1 +1,1 @@
242 @@ -1,1 +1,1 @@
242 -b
243 -b
243 +changed
244 +changed
244
245
245
246
246 Edit with extdiff -p:
247 Edit with extdiff -p:
247
248
248 Prepare custom diff/edit tool:
249 Prepare custom diff/edit tool:
249
250
250 $ cat > 'diff tool.py' << EOT
251 $ cat > 'diff tool.py' << EOT
251 > #!/usr/bin/env python
252 > #!/usr/bin/env python
252 > import time
253 > import time
253 > time.sleep(1) # avoid unchanged-timestamp problems
254 > time.sleep(1) # avoid unchanged-timestamp problems
254 > file('a/a', 'ab').write('edited\n')
255 > file('a/a', 'ab').write('edited\n')
255 > file('a/b', 'ab').write('edited\n')
256 > file('a/b', 'ab').write('edited\n')
256 > EOT
257 > EOT
257
258
259 #if execbit
258 $ chmod +x 'diff tool.py'
260 $ chmod +x 'diff tool.py'
261 #endif
259
262
260 will change to /tmp/extdiff.TMP and populate directories a.TMP and a
263 will change to /tmp/extdiff.TMP and populate directories a.TMP and a
261 and start tool
264 and start tool
262
265
263 $ hg extdiff -p "`pwd`/diff tool.py"
266 $ hg extdiff -p "`pwd`/diff tool.py"
264 [1]
267 [1]
265
268
266 Diff in working directory, after:
269 Diff in working directory, after:
267
270
268 $ hg diff --git
271 $ hg diff --git
269 diff --git a/a b/a
272 diff --git a/a b/a
270 --- a/a
273 --- a/a
271 +++ b/a
274 +++ b/a
272 @@ -1,1 +1,2 @@
275 @@ -1,1 +1,2 @@
273 -a
276 -a
274 +changed
277 +changed
275 +edited
278 +edited
276 diff --git a/b b/b
279 diff --git a/b b/b
277 old mode 100644
280 old mode 100644 (execbit !)
278 new mode 100755
281 new mode 100755 (execbit !)
279 --- a/b
282 --- a/b
280 +++ b/b
283 +++ b/b
281 @@ -1,1 +1,2 @@
284 @@ -1,1 +1,2 @@
282 -b
285 -b
283 +changed
286 +changed
284 +edited
287 +edited
285
288
286 Test extdiff with --option:
289 Test extdiff with --option:
287
290
288 $ hg extdiff -p echo -o this -c 1
291 $ hg extdiff -p echo -o this -c 1
289 this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
292 this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
293 this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
290 [1]
294 [1]
291
295
292 $ hg falabala -o this -c 1
296 $ hg falabala -o this -c 1
293 diffing this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
297 diffing this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
298 diffing this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
294 [1]
299 [1]
295
300
296 Test extdiff's handling of options with spaces in them:
301 Test extdiff's handling of options with spaces in them:
297
302
298 $ hg edspace -c 1
303 $ hg edspace -c 1
299 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
304 "name <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
305 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
300 [1]
306 [1]
301
307
302 $ hg extdiff -p echo -o "name <user@example.com>" -c 1
308 $ hg extdiff -p echo -o "name <user@example.com>" -c 1
303 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
309 "name <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
310 name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
304 [1]
311 [1]
305
312
306 Test with revsets:
313 Test with revsets:
307
314
308 $ hg extdif -p echo -c "rev(1)"
315 $ hg extdif -p echo -c "rev(1)"
309 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
316 "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
317 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
310 [1]
318 [1]
311
319
312 $ hg extdif -p echo -r "0::1"
320 $ hg extdif -p echo -r "0::1"
313 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
321 "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
322 */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
314 [1]
323 [1]
315
324
316 Fallback to merge-tools.tool.executable|regkey
325 Fallback to merge-tools.tool.executable|regkey
317 $ mkdir dir
326 $ mkdir dir
318 $ cat > 'dir/tool.sh' << EOF
327 $ cat > 'dir/tool.sh' << EOF
319 > #!/bin/sh
328 > #!/bin/sh
320 > echo "** custom diff **"
329 > echo "** custom diff **"
321 > EOF
330 > EOF
331 #if execbit
322 $ chmod +x dir/tool.sh
332 $ chmod +x dir/tool.sh
333 #endif
323 $ tool=`pwd`/dir/tool.sh
334 $ tool=`pwd`/dir/tool.sh
335
336 TODO: Fix this on Windows. It currently tries to run 'tl a.* a', instead of
337 falling back to tool.sh
338 #if no-windows
324 $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
339 $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
325 making snapshot of 2 files from rev * (glob)
340 making snapshot of 2 files from rev * (glob)
326 a
341 a
327 b
342 b
328 making snapshot of 2 files from working directory
343 making snapshot of 2 files from working directory
329 a
344 a
330 b
345 b
331 running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob)
346 running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob)
332 ** custom diff **
347 ** custom diff **
333 cleaning up temp directory
348 cleaning up temp directory
334 [1]
349 [1]
350 #endif
335
351
336 $ cd ..
352 $ cd ..
337
353
338 #endif
339
340 #if symlink
354 #if symlink
341
355
342 Test symlinks handling (issue1909)
356 Test symlinks handling (issue1909)
343
357
344 $ hg init testsymlinks
358 $ hg init testsymlinks
345 $ cd testsymlinks
359 $ cd testsymlinks
346 $ echo a > a
360 $ echo a > a
347 $ hg ci -Am adda
361 $ hg ci -Am adda
348 adding a
362 adding a
349 $ echo a >> a
363 $ echo a >> a
350 $ ln -s missing linka
364 $ ln -s missing linka
351 $ hg add linka
365 $ hg add linka
352 $ hg falabala -r 0 --traceback
366 $ hg falabala -r 0 --traceback
353 diffing testsymlinks.07f494440405 testsymlinks
367 diffing testsymlinks.07f494440405 testsymlinks
354 [1]
368 [1]
355 $ cd ..
369 $ cd ..
356
370
357 #endif
371 #endif
358
372
359 Test handling of non-ASCII paths in generated docstrings (issue5301)
373 Test handling of non-ASCII paths in generated docstrings (issue5301)
360
374
361 >>> open("u", "w").write("\xa5\xa5")
375 >>> open("u", "w").write("\xa5\xa5")
362 $ U=`cat u`
376 $ U=`cat u`
363
377
364 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help -k xyzzy
378 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help -k xyzzy
365 abort: no matches
379 abort: no matches
366 (try 'hg help' for a list of topics)
380 (try 'hg help' for a list of topics)
367 [255]
381 [255]
368
382
369 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help td > /dev/null
383 $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help td > /dev/null
370
384
371 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help -k xyzzy
385 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help -k xyzzy
372 abort: no matches
386 abort: no matches
373 (try 'hg help' for a list of topics)
387 (try 'hg help' for a list of topics)
374 [255]
388 [255]
375
389
376 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \
390 $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \
377 > | grep "^ '"
391 > | grep "^ '"
378 '\xa5\xa5'
392 '\xa5\xa5'
General Comments 0
You need to be logged in to leave comments. Login now