tests/test-up-local-change
author mpm@selenic.com
Fri, 24 Jun 2005 22:51:39 -0800
changeset 460 6409d9a0df43
parent 350 b4e0e20646bb
child 485 c5705ab9cebd
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:
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/bash
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     2
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     3
export HGMERGE=true
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     4
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     5
set -ex
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     6
mkdir r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     7
cd r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     8
hg init
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     9
echo a > a
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    10
hg addremove
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    11
hg commit -t "1" -u test -d "0 0"
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    12
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    13
cd ..
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    14
mkdir r2
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    15
cd r2
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    16
hg init ../r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    17
hg up
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    18
echo abc > a
332
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
    19
hg diff > ../d
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
    20
sed "s/\(\(---\|+++\).*\)\t.*/\1/" < ../d
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    21
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    22
cd ../r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    23
echo b > b
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    24
echo a2 > a
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    25
hg addremove
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    26
hg commit -t "2" -u test -d "0 0"
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    27
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    28
cd ../r2
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    29
hg -q pull ../r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    30
hg status
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    31
hg -d up
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    32
hg -d up -m
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    33
hg parents
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    34
hg -v history
332
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
    35
hg diff > ../d
6c869059beb4 testing fixups
mpm@selenic.com
parents: 331
diff changeset
    36
sed "s/\(\(---\|+++\).*\)\t.*/\1/" < ../d
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    37