comparison tests/test-graft.t @ 26228:0fd20a71abdb

extdiff: add a --patch argument for diffing changeset deltas One of the things I missed the most when transitioning from versioned MQ to evolve was the loss of being able to check that rebase conflicts were properly resolved by: $ hg ci --mq -m "before" $ hg rebase -s qbase -d tip $ hg bcompare --mq The old csets stay in the tree with evolve, but a straight diff includes all of the other changes that were pulled in, obscuring the code that was rebased. Diffing deltas can be confusing, but unless radical changes were made during the resolve, it is very clear when individual hunks are added, dropped or modified. Unlike the MQ technique, this can only compare a single pair of csets/patches at a time. Like the MQ method, this also highlights changes in the commit comment and other metadata. I originally tried monkey patching from the evolve extension, but that is too complicated given that it depends on the order the two different extensions are loaded. This functionality is also useful when comparing grafts however, so implementing it in the core is more than just convenience. The --change argument doesn't make much sense for this, but it isn't harmful so I didn't bother blocking it. The -I/-X options are ignored because of a limitation of cmdutil.export(). We'll fix that next.
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 09 Sep 2015 21:07:38 -0400
parents 273d94255e1e
children d1530c6e8613
comparison
equal deleted inserted replaced
26227:611ba118ebfc 26228:0fd20a71abdb
330 $ hg up -q 6 330 $ hg up -q 6
331 $ hg graft 7 331 $ hg graft 7
332 skipping already grafted revision 7:ef0ef43d49e7 (was grafted from 2:5c095ad7e90f) 332 skipping already grafted revision 7:ef0ef43d49e7 (was grafted from 2:5c095ad7e90f)
333 [255] 333 [255]
334 334
335 $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13
336 --- */hg-5c095ad7e90f.patch * +0000 (glob)
337 +++ */hg-7a4785234d87.patch * +0000 (glob)
338 @@ -1,18 +1,18 @@
339 # HG changeset patch
340 -# User test
341 +# User foo
342 # Date 0 0
343 # Thu Jan 01 00:00:00 1970 +0000
344 -# Node ID 5c095ad7e90f871700f02dd1fa5012cb4498a2d4
345 -# Parent 5d205f8b35b66bc36375c9534ffd3237730e8f04
346 +# Node ID 7a4785234d87ec1aa420ed6b11afe40fa73e12a9
347 +# Parent b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
348 2
349
350 -diff -r 5d205f8b35b6 -r 5c095ad7e90f a
351 +diff -r b592ea63bb0c -r 7a4785234d87 a
352 --- a/a Thu Jan 01 00:00:00 1970 +0000
353 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
354 @@ -1,1 +0,0 @@
355 --b
356 -diff -r 5d205f8b35b6 -r 5c095ad7e90f b
357 +-a
358 +diff -r b592ea63bb0c -r 7a4785234d87 b
359 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
360 +++ b/b Thu Jan 01 00:00:00 1970 +0000
361 @@ -0,0 +1,1 @@
362 -+b
363 ++a
364 [1]
365
366
335 Disallow grafting already grafted csets with the same origin onto each other 367 Disallow grafting already grafted csets with the same origin onto each other
336 $ hg up -q 13 368 $ hg up -q 13
337 $ hg graft 2 369 $ hg graft 2
338 skipping revision 2:5c095ad7e90f (already grafted to 13:7a4785234d87) 370 skipping revision 2:5c095ad7e90f (already grafted to 13:7a4785234d87)
339 [255] 371 [255]