tests/test-merge-local
author Brodie Rao <me+hg@dackz.net>
Sat, 13 Feb 2010 23:34:15 -0500
changeset 10453 7edc649f9f7e
parent 4365 46280c004f22
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
progress: make determinate bar more like wget progress bar foo [ ] 0/58 foo [> ] 1/58 foo [=> ] 2/58 ... foo [=======================================================> ] 56/58 foo [========================================================> ] 57/58 foo [=========================================================>] 58/58 The bar now has a '>' character at the end. This indicates the direction, is consistent with the indeterminate '<=>' bar, and looks much nicer.

#!/bin/sh

hg init

echo "# revision 0"
echo "unchanged" > unchanged
echo "remove me" > remove
echo "copy me" > copy
echo "move me" > move
for i in 1 2 3 4 5 6 7 8 9; do
    echo "merge ok $i" >> zzz1_merge_ok
done
echo "merge bad" > zzz2_merge_bad
hg ci -Am "revision 0" -d "1000000 0"

echo "# revision 1"
hg rm remove
hg mv move moved
hg cp copy copied
echo "added" > added
hg add added
echo "new first line" > zzz1_merge_ok
hg cat zzz1_merge_ok >> zzz1_merge_ok
echo "new last line" >> zzz2_merge_bad
hg ci -m "revision 1" -d "1000000 0"

echo "# local changes to revision 0"
hg co 0
echo "new last line" >> zzz1_merge_ok
echo "another last line" >> zzz2_merge_bad
hg diff --nodates | grep "^[+-][^<>]"
hg st

echo "# local merge with bad merge tool"
HGMERGE=false hg co
hg co 0
hg diff --nodates | grep "^[+-][^<>]"
hg st

echo "# local merge with conflicts"
hg co
hg co 0
hg diff --nodates | grep "^[+-][^<>]"
hg st

echo "# local merge without conflicts"
hg revert zzz2_merge_bad
hg co
hg diff --nodates | grep "^[+-][^<>]"
hg st