tests/test-merge7
author Robin Farine <robin.farine@terminus.org>
Sat, 18 Feb 2006 07:37:59 -0800
changeset 1747 91c56c427171
parent 1352 bf6c91cb816f
child 1933 7544700fd931
permissions -rwxr-xr-x
transitive copy/rename Add support for transitive copy or rename operations, e.g. hg rename a b ... (possibly edit b) hg rename b c hg commit ... by actually renaming "b" as "c" while recording a copy of "a" to "c" and a removal of "a".

#!/bin/sh

# initial
hg init test-a
cd test-a
cat >test.txt <<"EOF"
1
2
3
EOF
hg add test.txt
hg commit -m "Initial" -d "0 0"

# clone
cd ..
hg clone test-a test-b

# change test-a
cd test-a
cat >test.txt <<"EOF"
one
two
three
EOF
hg commit -m "Numbers as words" -d "0 0"

# change test-b
cd ../test-b
cat >test.txt <<"EOF"
1
2.5
3
EOF
hg commit -m "2 -> 2.5" -d "0 0"

# now pull and merge from test-a
hg pull ../test-a
HGMERGE=merge hg update -m
# resolve conflict
cat >test.txt <<"EOF"
one
two-point-five
three
EOF
rm -f *.orig
hg commit -m "Merge 1" -d "0 0"

# change test-a again
cd ../test-a
cat >test.txt <<"EOF"
one
two-point-one
three
EOF
hg commit -m "two -> two-point-one" -d "0 0"

# pull and merge from test-a again
cd ../test-b
hg pull ../test-a
HGMERGE=merge hg update --debug -m

cat test.txt | sed "s% .*%%"

hg debugindex .hg/data/test.txt.i

hg log