tests/test-imerge
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Tue, 14 Oct 2008 20:13:53 +0200
changeset 7104 9514cbb6e4f6
parent 6363 bbfebf751ac8
permissions -rw-r--r--
bdiff: normalize the diff (issue1295) When the common part of a diff can be moved forward, move it forward. Otherwise we don't get deterministic results (it would depends on the way we split for the recursion). That way we get identical hunks when doing the same change, it helps to solve issue1295 (inconsistent diffs on different side during a merge).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     1
#!/bin/sh
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     2
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     3
echo "[extensions]" >> $HGRCPATH
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     4
echo "imerge=" >> $HGRCPATH
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     5
HGMERGE=true
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     6
export HGMERGE
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     7
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     8
hg init base
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     9
cd base
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    10
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    11
echo foo > foo
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    12
echo bar > bar
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    13
hg ci -Am0 -d '0 0'
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    14
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    15
hg mv foo foo2
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    16
echo foo >> foo2
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    17
hg ci -m1 -d '1 0'
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    18
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    19
hg up -C 0
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    20
echo bar >> foo
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    21
echo bar >> bar
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    22
hg ci -m2 -d '2 0'
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    23
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    24
echo % start imerge
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    25
hg imerge
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    26
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    27
cat foo2
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    28
cat bar
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    29
5111
12930b97a729 imerge: gussy up dispatcher to support subcommand opts.
Brendan Cully <brendan@kublai.com>
parents: 5109
diff changeset
    30
echo % status -v
12930b97a729 imerge: gussy up dispatcher to support subcommand opts.
Brendan Cully <brendan@kublai.com>
parents: 5109
diff changeset
    31
hg -v imerge st
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    32
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    33
echo % next
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    34
hg imerge next
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    35
6363
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    36
echo % resolve and unresolve
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    37
hg imerge resolve foo
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    38
hg -v imerge st
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    39
hg imerge unresolve foo
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    40
hg -v imerge st
bbfebf751ac8 test-imerge: test resolve subcommand
Patrick Mezard <pmezard@gmail.com>
parents: 6362
diff changeset
    41
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    42
echo % merge next
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    43
hg --traceback imerge
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    44
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    45
echo % unresolve
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    46
hg imerge unres foo
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    47
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    48
echo % merge foo
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    49
hg imerge merge foo
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    50
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    51
echo % save
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    52
echo foo > foo2
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    53
hg imerge save ../savedmerge
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    54
6362
bc3dbdb1d430 imerge: replace "merge" with "internal:merge" when non-interactive
Patrick Mezard <pmezard@gmail.com>
parents: 6213
diff changeset
    55
echo % merge auto
bc3dbdb1d430 imerge: replace "merge" with "internal:merge" when non-interactive
Patrick Mezard <pmezard@gmail.com>
parents: 6213
diff changeset
    56
hg up -C 1
bc3dbdb1d430 imerge: replace "merge" with "internal:merge" when non-interactive
Patrick Mezard <pmezard@gmail.com>
parents: 6213
diff changeset
    57
hg --traceback imerge --auto
bc3dbdb1d430 imerge: replace "merge" with "internal:merge" when non-interactive
Patrick Mezard <pmezard@gmail.com>
parents: 6213
diff changeset
    58
cat foo2
bc3dbdb1d430 imerge: replace "merge" with "internal:merge" when non-interactive
Patrick Mezard <pmezard@gmail.com>
parents: 6213
diff changeset
    59
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    60
echo % load
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    61
hg up -C 0
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    62
hg imerge --traceback load ../savedmerge
5109
86327d13d916 imerge: handle renames
Brendan Cully <brendan@kublai.com>
parents: 5044
diff changeset
    63
cat foo2
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    64
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    65
hg ci -m'merged' -d '3 0'
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    66
hg tip -v
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    67
5242
9cd6578750b9 improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5111
diff changeset
    68
echo % nothing to merge -- tip
9cd6578750b9 improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5111
diff changeset
    69
hg imerge
9cd6578750b9 improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5111
diff changeset
    70
9cd6578750b9 improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5111
diff changeset
    71
hg up 0
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    72
echo % nothing to merge
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    73
hg imerge
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    74
6213
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    75
cd ..
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    76
hg -q clone -r 0 base clone
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    77
cd clone
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    78
echo % load unknown parent
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    79
hg imerge load ../savedmerge
5c5e45766224 imerge: Fix unbound name error and add a test case
Joel Rosdahl <joel@rosdahl.net>
parents: 5242
diff changeset
    80
5044
58006f8b8275 imerge extension and test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    81
exit 0