tests/test-merge-local
changeset 3869 ad6f34c83c3d
child 4361 46280c004f22
new file mode 100755
--- /dev/null
+++ b/tests/test-merge-local
@@ -0,0 +1,50 @@
+#!/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"
+HGMERGE=merge hg co
+hg co 0
+hg diff --nodates | grep "^[+-][^<>]"
+hg st
+
+echo "# local merge without conflicts"
+hg revert zzz2_merge_bad
+HGMERGE=merge hg co
+hg diff --nodates | grep "^[+-][^<>]"
+hg st