tests/test-conflict.out
author mpm@selenic.com
Fri, 24 Jun 2005 22:51:39 -0800
changeset 460 6409d9a0df43
parent 392 ee4c80d294e5
child 591 eb46971fc57f
permissions -rw-r--r--
add dirstate debugging commands -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 add dirstate debugging commands As I've played with various different merges and more recently rawcommit, I've found the following patch to be very very helpful in figuring out whether the dirstate is being left in a consistent or inconsistent state with respect to the current manifest. I attempted to deduce the invariants that were assumed by the current code, and then check it in this code. I may or may not have captured the design intent in this check; if not, I'd be very happy to hear more clearly what was intended, so that I can write tests to that expectation. Anyway, here's the patch. Not sure if it's a good idea to commit it to the mainline, or just leave it as a debugging aid. I attempted to package it so that it doesn't interfere with normal usage. Michael Fetterman (tweaked by mpm: remove -d magic) manifest hash: 869f5b5f954dc0f46ba27322359e811d5e21d71c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCvP77ywK+sNU5EO8RArmtAKCCVuI2slANzWZ26P5edtH/ixdwNwCfZLWl 5P+V+C92II3usO4YW2MULKY= =/Pv4 -----END PGP SIGNATURE-----

+ hg init
+ echo nothing
+ hg add a
+ hg commit -t ancestor -u test -d '0 0'
+ echo something
+ hg commit -t branch1 -u test -d '0 0'
+ hg co 0
+ echo 'something else'
+ hg commit -t branch2 -u test -d '0 0'
+ export HGMERGE=merge
+ HGMERGE=merge
+ hg -d up -m 1
merge: warning: conflicts during merge
resolving manifests
 ancestor 1c6e5a129854 local 35fedfab3325 remote a58017859bdc
 a versions differ, resolve
working dir created .out, keeping
merging a
resolving a
file a: other d7250518cb1b ancestor 68ba9db7a9e4
merging a failed!
+ hg id
32e80765d7fe+75234512624c+ tip
+ grep -Ev '>>>|<<<' a
something else
=======
something
+ hg status
C a
? .out