tests/test-filebranch
author Patrick Mezard <pmezard@gmail.com>
Fri, 01 Jan 2010 19:53:05 +0100
branchstable
changeset 10186 296a0b14a686
parent 6329 3f754be7abbb
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
mq: preserve --git flag when folding patches Without this, folding a git patch into a regular one downgrades the resulting patch to a regular patch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     2
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     3
# This test makes sure that we don't mark a file as merged with its ancestor
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     4
# when we do a merge.
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     5
4293
b0140ead7f70 test-filebranch: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
     6
cat <<EOF > merge
b0140ead7f70 test-filebranch: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
     7
import sys, os
b0140ead7f70 test-filebranch: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
     8
print "merging for", os.path.basename(sys.argv[1])
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
     9
EOF
4293
b0140ead7f70 test-filebranch: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
    10
HGMERGE="python ../merge"; export HGMERGE
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    11
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    12
echo creating base
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    13
hg init a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    14
cd a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    15
echo 1 > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    16
echo 1 > bar
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    17
echo 1 > baz
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    18
echo 1 > quux
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    19
hg add foo bar baz quux
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 993
diff changeset
    20
hg commit -m "base" -d "1000000 0"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    21
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    22
cd ..
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    23
hg clone a b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    24
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    25
echo creating branch a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    26
cd a
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    27
echo 2a > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    28
echo 2a > bar
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 993
diff changeset
    29
hg commit -m "branch a" -d "1000000 0"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    30
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    31
echo creating branch b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    32
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    33
cd ..
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    34
cd b
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    35
echo 2b > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    36
echo 2b > baz
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 993
diff changeset
    37
hg commit -m "branch b" -d "1000000 0"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    38
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    39
echo "we shouldn't have anything but n state here"
6329
3f754be7abbb tests: fix repeatability for test-filebranch with dirstate granularity
Matt Mackall <mpm@selenic.com>
parents: 6296
diff changeset
    40
hg debugstate --nodates | grep -v "^n"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    41
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    42
echo merging
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    43
hg pull ../a
4293
b0140ead7f70 test-filebranch: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
    44
hg merge -v
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    45
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    46
echo 2m > foo
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    47
echo 2b > baz
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    48
echo new > quux
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    49
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    50
echo "we shouldn't have anything but foo in merge state here"
6296
a9e6b8875805 debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5858
diff changeset
    51
hg debugstate --nodates | grep "^m"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    52
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 993
diff changeset
    53
hg ci -m "merge" -d "1000000 0"
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    54
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    55
echo "main: we should have a merge here"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3736
diff changeset
    56
hg debugindex .hg/store/00changelog.i
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    57
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
    58
echo "log should show foo and quux changed"
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
    59
hg log -v -r tip
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
    60
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    61
echo "foo: we should have a merge here"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3736
diff changeset
    62
hg debugindex .hg/store/data/foo.i
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    63
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    64
echo "bar: we shouldn't have a merge here"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3736
diff changeset
    65
hg debugindex .hg/store/data/bar.i
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    66
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    67
echo "baz: we shouldn't have a merge here"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3736
diff changeset
    68
hg debugindex .hg/store/data/baz.i
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    69
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    70
echo "quux: we shouldn't have a merge here"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3736
diff changeset
    71
hg debugindex .hg/store/data/quux.i
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    72
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
    73
echo "manifest entries should match tips of all files"
3736
ad3d5b4367cb make manifest friendlier
Matt Mackall <mpm@selenic.com>
parents: 2283
diff changeset
    74
hg manifest --debug
993
6f274afc05c7 Clean up some merge logic
mpm@selenic.com
parents: 990
diff changeset
    75
990
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    76
echo "everything should be clean now"
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    77
hg status
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    78
5007e0bdeed2 Fix long-standing excessive file merges
mpm@selenic.com
parents:
diff changeset
    79
hg verify