tests/test-merge5
author mpm@selenic.com
Fri, 24 Jun 2005 22:51:39 -0800
changeset 460 6409d9a0df43
parent 415 c2b9502a4e96
child 749 7e4843b7efd2
permissions -rwxr-xr-x
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-----
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
415
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh -x
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     2
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     3
mkdir t
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     4
cd t
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     5
hg init
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     6
echo This is file a1 > a
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     7
echo This is file b1 > b
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     8
hg add a b
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
     9
hg commit -t "commit #0" -d "0 0" -u user
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    10
echo This is file b22 > b
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    11
hg commit -t"comment #1" -d "0 0" -u user
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    12
hg update 0
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    13
rm b
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    14
hg commit -A -t"comment #2" -d "0 0" -u user
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    15
# in theory, we shouldn't need the "yes k" below, but it prevents
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    16
# this test from hanging when "hg update" erroneously prompts the
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    17
# user for "keep or delete"
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    18
yes k | hg update 1
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    19
# we exit with 0 to avoid the unavoidable SIGPIPE from above causing
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    20
# us to fail this test
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    21
exit 0