##// END OF EJS Templates
tests: show that in-mem rebase falling back loses state...
Martin von Zweigbergk -
r40834:8ff910b2 stable
parent child Browse files
Show More
@@ -1,643 +1,697
1 1 #require symlink execbit
2 2 $ cat << EOF >> $HGRCPATH
3 > [phases]
4 > publish=False
3 5 > [extensions]
4 6 > amend=
5 7 > rebase=
6 8 > debugdrawdag=$TESTDIR/drawdag.py
7 9 > strip=
8 10 > [rebase]
9 11 > experimental.inmemory=1
10 12 > [diff]
11 13 > git=1
12 14 > [alias]
13 15 > tglog = log -G --template "{rev}: {node|short} '{desc}'\n"
14 16 > EOF
15 17
16 18 Rebase a simple DAG:
17 19 $ hg init repo1
18 20 $ cd repo1
19 21 $ hg debugdrawdag <<'EOS'
20 22 > c b
21 23 > |/
22 24 > d
23 25 > |
24 26 > a
25 27 > EOS
26 28 $ hg up -C a
27 29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28 30 $ hg tglog
29 31 o 3: 814f6bd05178 'c'
30 32 |
31 33 | o 2: db0e82a16a62 'b'
32 34 |/
33 35 o 1: 02952614a83d 'd'
34 36 |
35 37 @ 0: b173517d0057 'a'
36 38
37 39 $ hg cat -r 3 c
38 40 c (no-eol)
39 41 $ hg cat -r 2 b
40 42 b (no-eol)
41 43 $ hg rebase --debug -r b -d c | grep rebasing
42 44 rebasing in-memory
43 45 rebasing 2:db0e82a16a62 "b" (b)
44 46 $ hg tglog
45 47 o 3: ca58782ad1e4 'b'
46 48 |
47 49 o 2: 814f6bd05178 'c'
48 50 |
49 51 o 1: 02952614a83d 'd'
50 52 |
51 53 @ 0: b173517d0057 'a'
52 54
53 55 $ hg cat -r 3 b
54 56 b (no-eol)
55 57 $ hg cat -r 2 c
56 58 c (no-eol)
57 59
58 60 Case 2:
59 61 $ hg init repo2
60 62 $ cd repo2
61 63 $ hg debugdrawdag <<'EOS'
62 64 > c b
63 65 > |/
64 66 > d
65 67 > |
66 68 > a
67 69 > EOS
68 70
69 71 Add a symlink and executable file:
70 72 $ hg up -C c
71 73 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
72 74 $ ln -s somefile e
73 75 $ echo f > f
74 76 $ chmod +x f
75 77 $ hg add e f
76 78 $ hg amend -q
77 79 $ hg up -Cq a
78 80
79 81 Write files to the working copy, and ensure they're still there after the rebase
80 82 $ echo "abc" > a
81 83 $ ln -s def b
82 84 $ echo "ghi" > c
83 85 $ echo "jkl" > d
84 86 $ echo "mno" > e
85 87 $ hg tglog
86 88 o 3: f56b71190a8f 'c'
87 89 |
88 90 | o 2: db0e82a16a62 'b'
89 91 |/
90 92 o 1: 02952614a83d 'd'
91 93 |
92 94 @ 0: b173517d0057 'a'
93 95
94 96 $ hg cat -r 3 c
95 97 c (no-eol)
96 98 $ hg cat -r 2 b
97 99 b (no-eol)
98 100 $ hg cat -r 3 e
99 101 somefile (no-eol)
100 102 $ hg rebase --debug -s b -d a | grep rebasing
101 103 rebasing in-memory
102 104 rebasing 2:db0e82a16a62 "b" (b)
103 105 $ hg tglog
104 106 o 3: fc055c3b4d33 'b'
105 107 |
106 108 | o 2: f56b71190a8f 'c'
107 109 | |
108 110 | o 1: 02952614a83d 'd'
109 111 |/
110 112 @ 0: b173517d0057 'a'
111 113
112 114 $ hg cat -r 2 c
113 115 c (no-eol)
114 116 $ hg cat -r 3 b
115 117 b (no-eol)
116 118 $ hg rebase --debug -s 1 -d 3 | grep rebasing
117 119 rebasing in-memory
118 120 rebasing 1:02952614a83d "d" (d)
119 121 rebasing 2:f56b71190a8f "c"
120 122 $ hg tglog
121 123 o 3: 753feb6fd12a 'c'
122 124 |
123 125 o 2: 09c044d2cb43 'd'
124 126 |
125 127 o 1: fc055c3b4d33 'b'
126 128 |
127 129 @ 0: b173517d0057 'a'
128 130
129 131 Ensure working copy files are still there:
130 132 $ cat a
131 133 abc
132 134 $ readlink.py b
133 135 b -> def
134 136 $ cat e
135 137 mno
136 138
137 139 Ensure symlink and executable files were rebased properly:
138 140 $ hg up -Cq 3
139 141 $ readlink.py e
140 142 e -> somefile
141 143 $ ls -l f | cut -c -10
142 144 -rwxr-xr-x
143 145
144 146 Rebase the working copy parent
145 147 $ hg up -C 3
146 148 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 149 $ hg rebase -r 3 -d 0 --debug | grep rebasing
148 150 rebasing in-memory
149 151 rebasing 3:753feb6fd12a "c" (tip)
150 152 $ hg tglog
151 153 @ 3: 844a7de3e617 'c'
152 154 |
153 155 | o 2: 09c044d2cb43 'd'
154 156 | |
155 157 | o 1: fc055c3b4d33 'b'
156 158 |/
157 159 o 0: b173517d0057 'a'
158 160
159 161
160 162 Test reporting of path conflicts
161 163
162 164 $ hg rm a
163 165 $ mkdir a
164 166 $ touch a/a
165 167 $ hg ci -Am "a/a"
166 168 adding a/a
167 169 $ hg tglog
168 170 @ 4: daf7dfc139cb 'a/a'
169 171 |
170 172 o 3: 844a7de3e617 'c'
171 173 |
172 174 | o 2: 09c044d2cb43 'd'
173 175 | |
174 176 | o 1: fc055c3b4d33 'b'
175 177 |/
176 178 o 0: b173517d0057 'a'
177 179
178 180 $ hg rebase -r . -d 2
179 181 rebasing 4:daf7dfc139cb "a/a" (tip)
180 182 saved backup bundle to $TESTTMP/repo1/repo2/.hg/strip-backup/daf7dfc139cb-fdbfcf4f-rebase.hg
181 183
182 184 $ hg tglog
183 185 @ 4: c6ad37a4f250 'a/a'
184 186 |
185 187 | o 3: 844a7de3e617 'c'
186 188 | |
187 189 o | 2: 09c044d2cb43 'd'
188 190 | |
189 191 o | 1: fc055c3b4d33 'b'
190 192 |/
191 193 o 0: b173517d0057 'a'
192 194
193 195 $ echo foo > foo
194 196 $ hg ci -Aqm "added foo"
195 197 $ hg up '.^'
196 198 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
197 199 $ echo bar > bar
198 200 $ hg ci -Aqm "added bar"
199 201 $ hg rm a/a
200 202 $ echo a > a
201 203 $ hg ci -Aqm "added a back!"
202 204 $ hg tglog
203 205 @ 7: 855e9797387e 'added a back!'
204 206 |
205 207 o 6: d14530e5e3e6 'added bar'
206 208 |
207 209 | o 5: 9b94b9373deb 'added foo'
208 210 |/
209 211 o 4: c6ad37a4f250 'a/a'
210 212 |
211 213 | o 3: 844a7de3e617 'c'
212 214 | |
213 215 o | 2: 09c044d2cb43 'd'
214 216 | |
215 217 o | 1: fc055c3b4d33 'b'
216 218 |/
217 219 o 0: b173517d0057 'a'
218 220
219 221 $ hg rebase -r . -d 5
220 222 rebasing 7:855e9797387e "added a back!" (tip)
221 223 saved backup bundle to $TESTTMP/repo1/repo2/.hg/strip-backup/855e9797387e-81ee4c5d-rebase.hg
222 224
223 225 $ hg tglog
224 226 @ 7: bb3f02be2688 'added a back!'
225 227 |
226 228 | o 6: d14530e5e3e6 'added bar'
227 229 | |
228 230 o | 5: 9b94b9373deb 'added foo'
229 231 |/
230 232 o 4: c6ad37a4f250 'a/a'
231 233 |
232 234 | o 3: 844a7de3e617 'c'
233 235 | |
234 236 o | 2: 09c044d2cb43 'd'
235 237 | |
236 238 o | 1: fc055c3b4d33 'b'
237 239 |/
238 240 o 0: b173517d0057 'a'
239 241
240 242
241 243 $ cd ..
242 244
243 245 Test dry-run rebasing
244 246
245 247 $ hg init repo3
246 248 $ cd repo3
247 249 $ echo a>a
248 250 $ hg ci -Aqma
249 251 $ echo b>b
250 252 $ hg ci -Aqmb
251 253 $ echo c>c
252 254 $ hg ci -Aqmc
253 255 $ echo d>d
254 256 $ hg ci -Aqmd
255 257 $ echo e>e
256 258 $ hg ci -Aqme
257 259
258 260 $ hg up 1 -q
259 261 $ echo f>f
260 262 $ hg ci -Amf
261 263 adding f
262 264 created new head
263 265 $ echo g>g
264 266 $ hg ci -Aqmg
265 267 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
266 268 @ 6:baf10c5166d4 test
267 269 | g
268 270 |
269 271 o 5:6343ca3eff20 test
270 272 | f
271 273 |
272 274 | o 4:e860deea161a test
273 275 | | e
274 276 | |
275 277 | o 3:055a42cdd887 test
276 278 | | d
277 279 | |
278 280 | o 2:177f92b77385 test
279 281 |/ c
280 282 |
281 283 o 1:d2ae7f538514 test
282 284 | b
283 285 |
284 286 o 0:cb9a9f314b8b test
285 287 a
286 288
287 289 Make sure it throws error while passing --continue or --abort with --dry-run
288 290 $ hg rebase -s 2 -d 6 -n --continue
289 291 abort: cannot specify both --dry-run and --continue
290 292 [255]
291 293 $ hg rebase -s 2 -d 6 -n --abort
292 294 abort: cannot specify both --dry-run and --abort
293 295 [255]
294 296
295 297 Check dryrun gives correct results when there is no conflict in rebasing
296 298 $ hg rebase -s 2 -d 6 -n
297 299 starting dry-run rebase; repository will not be changed
298 300 rebasing 2:177f92b77385 "c"
299 301 rebasing 3:055a42cdd887 "d"
300 302 rebasing 4:e860deea161a "e"
301 303 dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
302 304
303 305 $ hg diff
304 306 $ hg status
305 307
306 308 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
307 309 @ 6:baf10c5166d4 test
308 310 | g
309 311 |
310 312 o 5:6343ca3eff20 test
311 313 | f
312 314 |
313 315 | o 4:e860deea161a test
314 316 | | e
315 317 | |
316 318 | o 3:055a42cdd887 test
317 319 | | d
318 320 | |
319 321 | o 2:177f92b77385 test
320 322 |/ c
321 323 |
322 324 o 1:d2ae7f538514 test
323 325 | b
324 326 |
325 327 o 0:cb9a9f314b8b test
326 328 a
327 329
328 330 Check dryrun working with --collapse when there is no conflict
329 331 $ hg rebase -s 2 -d 6 -n --collapse
330 332 starting dry-run rebase; repository will not be changed
331 333 rebasing 2:177f92b77385 "c"
332 334 rebasing 3:055a42cdd887 "d"
333 335 rebasing 4:e860deea161a "e"
334 336 dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
335 337
336 338 Check dryrun gives correct results when there is conflict in rebasing
337 339 Make a conflict:
338 340 $ hg up 6 -q
339 341 $ echo conflict>e
340 342 $ hg ci -Aqm "conflict with e"
341 343 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
342 344 @ 7:d2c195b28050 test
343 345 | conflict with e
344 346 |
345 347 o 6:baf10c5166d4 test
346 348 | g
347 349 |
348 350 o 5:6343ca3eff20 test
349 351 | f
350 352 |
351 353 | o 4:e860deea161a test
352 354 | | e
353 355 | |
354 356 | o 3:055a42cdd887 test
355 357 | | d
356 358 | |
357 359 | o 2:177f92b77385 test
358 360 |/ c
359 361 |
360 362 o 1:d2ae7f538514 test
361 363 | b
362 364 |
363 365 o 0:cb9a9f314b8b test
364 366 a
365 367
366 368 $ hg rebase -s 2 -d 7 -n
367 369 starting dry-run rebase; repository will not be changed
368 370 rebasing 2:177f92b77385 "c"
369 371 rebasing 3:055a42cdd887 "d"
370 372 rebasing 4:e860deea161a "e"
371 373 merging e
372 374 transaction abort!
373 375 rollback completed
374 376 hit a merge conflict
375 377 [1]
376 378 $ hg diff
377 379 $ hg status
378 380 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
379 381 @ 7:d2c195b28050 test
380 382 | conflict with e
381 383 |
382 384 o 6:baf10c5166d4 test
383 385 | g
384 386 |
385 387 o 5:6343ca3eff20 test
386 388 | f
387 389 |
388 390 | o 4:e860deea161a test
389 391 | | e
390 392 | |
391 393 | o 3:055a42cdd887 test
392 394 | | d
393 395 | |
394 396 | o 2:177f92b77385 test
395 397 |/ c
396 398 |
397 399 o 1:d2ae7f538514 test
398 400 | b
399 401 |
400 402 o 0:cb9a9f314b8b test
401 403 a
402 404
403 405 Check dryrun working with --collapse when there is conflicts
404 406 $ hg rebase -s 2 -d 7 -n --collapse
405 407 starting dry-run rebase; repository will not be changed
406 408 rebasing 2:177f92b77385 "c"
407 409 rebasing 3:055a42cdd887 "d"
408 410 rebasing 4:e860deea161a "e"
409 411 merging e
410 412 hit a merge conflict
411 413 [1]
412 414
413 415 In-memory rebase that fails due to merge conflicts
414 416
415 417 $ hg rebase -s 2 -d 7
416 418 rebasing 2:177f92b77385 "c"
417 419 rebasing 3:055a42cdd887 "d"
418 420 rebasing 4:e860deea161a "e"
419 421 merging e
420 422 transaction abort!
421 423 rollback completed
422 424 hit merge conflicts; re-running rebase without in-memory merge
423 425 rebase aborted
424 426 rebasing 2:177f92b77385 "c"
425 427 rebasing 3:055a42cdd887 "d"
426 428 rebasing 4:e860deea161a "e"
427 429 merging e
428 430 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
429 431 unresolved conflicts (see hg resolve, then hg rebase --continue)
430 432 [1]
433 $ hg rebase --abort
434 saved backup bundle to $TESTTMP/repo1/repo3/.hg/strip-backup/c1e524d4287c-f91f82e1-backup.hg
435 rebase aborted
436
437 Retrying without in-memory merge won't lose working copy changes
438 $ cd ..
439 $ hg clone repo3 repo3-dirty -q
440 $ cd repo3-dirty
441 $ echo dirty > a
442 $ hg rebase -s 2 -d 7
443 rebasing 2:177f92b77385 "c"
444 rebasing 3:055a42cdd887 "d"
445 rebasing 4:e860deea161a "e"
446 merging e
447 transaction abort!
448 rollback completed
449 hit merge conflicts; re-running rebase without in-memory merge
450 rebase aborted
451 rebasing 2:177f92b77385 "c"
452 rebasing 3:055a42cdd887 "d"
453 rebasing 4:e860deea161a "e"
454 merging e
455 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
456 unresolved conflicts (see hg resolve, then hg rebase --continue)
457 [1]
458 BROKEN: working copy change to "a" was lost
459 $ cat a
460 a
461
462 Retrying without in-memory merge won't lose merge state
463 $ cd ..
464 $ hg clone repo3 repo3-merge-state -q
465 $ cd repo3-merge-state
466 $ hg merge 4
467 merging e
468 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
469 2 files updated, 0 files merged, 0 files removed, 1 files unresolved
470 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
471 [1]
472 $ hg resolve -l
473 U e
474 BROKEN: these should not say "created no changes to commit"
475 $ hg rebase -s 2 -d 7
476 rebasing 2:177f92b77385 "c"
477 note: rebase of 2:177f92b77385 created no changes to commit
478 rebasing 3:055a42cdd887 "d"
479 note: rebase of 3:055a42cdd887 created no changes to commit
480 rebasing 4:e860deea161a "e"
481 note: rebase of 4:e860deea161a created no changes to commit
482 saved backup bundle to $TESTTMP/repo1/repo3-merge-state/.hg/strip-backup/177f92b77385-4da7ba9e-rebase.hg
483 BROKEN: merge state lost
484 $ hg resolve -l
431 485
432 486 ==========================
433 487 Test for --confirm option|
434 488 ==========================
435 489 $ cd ..
436 490 $ hg clone repo3 repo4 -q
437 491 $ cd repo4
438 492 $ hg strip 7 -q
439 493 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
440 494 @ 6:baf10c5166d4 test
441 495 | g
442 496 |
443 497 o 5:6343ca3eff20 test
444 498 | f
445 499 |
446 500 | o 4:e860deea161a test
447 501 | | e
448 502 | |
449 503 | o 3:055a42cdd887 test
450 504 | | d
451 505 | |
452 506 | o 2:177f92b77385 test
453 507 |/ c
454 508 |
455 509 o 1:d2ae7f538514 test
456 510 | b
457 511 |
458 512 o 0:cb9a9f314b8b test
459 513 a
460 514
461 515 Check it gives error when both --dryrun and --confirm is used:
462 516 $ hg rebase -s 2 -d . --confirm --dry-run
463 517 abort: cannot specify both --confirm and --dry-run
464 518 [255]
465 519 $ hg rebase -s 2 -d . --confirm --abort
466 520 abort: cannot specify both --confirm and --abort
467 521 [255]
468 522 $ hg rebase -s 2 -d . --confirm --continue
469 523 abort: cannot specify both --confirm and --continue
470 524 [255]
471 525
472 526 Test --confirm option when there are no conflicts:
473 527 $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
474 528 > n
475 529 > EOF
476 530 starting in-memory rebase
477 531 rebasing 2:177f92b77385 "c"
478 532 rebasing 3:055a42cdd887 "d"
479 533 rebasing 4:e860deea161a "e"
480 534 rebase completed successfully
481 535 apply changes (yn)? n
482 536 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
483 537 @ 6:baf10c5166d4 test
484 538 | g
485 539 |
486 540 o 5:6343ca3eff20 test
487 541 | f
488 542 |
489 543 | o 4:e860deea161a test
490 544 | | e
491 545 | |
492 546 | o 3:055a42cdd887 test
493 547 | | d
494 548 | |
495 549 | o 2:177f92b77385 test
496 550 |/ c
497 551 |
498 552 o 1:d2ae7f538514 test
499 553 | b
500 554 |
501 555 o 0:cb9a9f314b8b test
502 556 a
503 557
504 558 $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
505 559 > y
506 560 > EOF
507 561 starting in-memory rebase
508 562 rebasing 2:177f92b77385 "c"
509 563 rebasing 3:055a42cdd887 "d"
510 564 rebasing 4:e860deea161a "e"
511 565 rebase completed successfully
512 566 apply changes (yn)? y
513 567 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
514 568 o 9:9fd28f55f6dc test
515 569 | e
516 570 |
517 571 o 8:12cbf031f469 test
518 572 | d
519 573 |
520 574 o 7:c83b1da5b1ae test
521 575 | c
522 576 |
523 577 @ 6:baf10c5166d4 test
524 578 | g
525 579 |
526 580 o 5:6343ca3eff20 test
527 581 | f
528 582 |
529 583 | o 4:e860deea161a test
530 584 | | e
531 585 | |
532 586 | o 3:055a42cdd887 test
533 587 | | d
534 588 | |
535 589 | o 2:177f92b77385 test
536 590 |/ c
537 591 |
538 592 o 1:d2ae7f538514 test
539 593 | b
540 594 |
541 595 o 0:cb9a9f314b8b test
542 596 a
543 597
544 598 Test --confirm option when there is a conflict
545 599 $ hg up tip -q
546 600 $ echo ee>e
547 601 $ hg ci --amend -m "conflict with e" -q
548 602 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
549 603 @ 9:906d72f66a59 test
550 604 | conflict with e
551 605 |
552 606 o 8:12cbf031f469 test
553 607 | d
554 608 |
555 609 o 7:c83b1da5b1ae test
556 610 | c
557 611 |
558 612 o 6:baf10c5166d4 test
559 613 | g
560 614 |
561 615 o 5:6343ca3eff20 test
562 616 | f
563 617 |
564 618 | o 4:e860deea161a test
565 619 | | e
566 620 | |
567 621 | o 3:055a42cdd887 test
568 622 | | d
569 623 | |
570 624 | o 2:177f92b77385 test
571 625 |/ c
572 626 |
573 627 o 1:d2ae7f538514 test
574 628 | b
575 629 |
576 630 o 0:cb9a9f314b8b test
577 631 a
578 632
579 633 $ hg rebase -s 4 -d . --keep --confirm
580 634 starting in-memory rebase
581 635 rebasing 4:e860deea161a "e"
582 636 merging e
583 637 hit a merge conflict
584 638 [1]
585 639 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
586 640 @ 9:906d72f66a59 test
587 641 | conflict with e
588 642 |
589 643 o 8:12cbf031f469 test
590 644 | d
591 645 |
592 646 o 7:c83b1da5b1ae test
593 647 | c
594 648 |
595 649 o 6:baf10c5166d4 test
596 650 | g
597 651 |
598 652 o 5:6343ca3eff20 test
599 653 | f
600 654 |
601 655 | o 4:e860deea161a test
602 656 | | e
603 657 | |
604 658 | o 3:055a42cdd887 test
605 659 | | d
606 660 | |
607 661 | o 2:177f92b77385 test
608 662 |/ c
609 663 |
610 664 o 1:d2ae7f538514 test
611 665 | b
612 666 |
613 667 o 0:cb9a9f314b8b test
614 668 a
615 669
616 670 #if execbit
617 671
618 672 Test a metadata-only in-memory merge
619 673 $ cd $TESTTMP
620 674 $ hg init no_exception
621 675 $ cd no_exception
622 676 # Produce the following graph:
623 677 # o 'add +x to foo.txt'
624 678 # | o r1 (adds bar.txt, just for something to rebase to)
625 679 # |/
626 680 # o r0 (adds foo.txt, no +x)
627 681 $ echo hi > foo.txt
628 682 $ hg ci -qAm r0
629 683 $ echo hi > bar.txt
630 684 $ hg ci -qAm r1
631 685 $ hg co -qr ".^"
632 686 $ chmod +x foo.txt
633 687 $ hg ci -qAm 'add +x to foo.txt'
634 688 issue5960: this was raising an AttributeError exception
635 689 $ hg rebase -r . -d 1
636 690 rebasing 2:539b93e77479 "add +x to foo.txt" (tip)
637 691 saved backup bundle to $TESTTMP/no_exception/.hg/strip-backup/*.hg (glob)
638 692 $ hg diff -c tip
639 693 diff --git a/foo.txt b/foo.txt
640 694 old mode 100644
641 695 new mode 100755
642 696
643 697 #endif
General Comments 0
You need to be logged in to leave comments. Login now