tests/test-merge-local.t
changeset 12258 98ec977aa61e
parent 12156 4c94b6d0fb1c
child 12316 4134686b83e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge-local.t	Sat Sep 11 21:19:12 2010 +0200
@@ -0,0 +1,134 @@
+  $ hg init
+
+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"
+  adding copy
+  adding move
+  adding remove
+  adding unchanged
+  adding zzz1_merge_ok
+  adding zzz2_merge_bad
+
+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"
+
+Local changes to revision 0:
+
+  $ hg co 0
+  4 files updated, 0 files merged, 3 files removed, 0 files unresolved
+  $ echo "new last line" >> zzz1_merge_ok
+  $ echo "another last line" >> zzz2_merge_bad
+
+  $ hg diff --nodates | grep "^[+-][^<>]"
+  --- a/zzz1_merge_ok
+  +++ b/zzz1_merge_ok
+  +new last line
+  --- a/zzz2_merge_bad
+  +++ b/zzz2_merge_bad
+  +another last line
+
+  $ hg st
+  M zzz1_merge_ok
+  M zzz2_merge_bad
+
+Local merge with bad merge tool:
+
+  $ HGMERGE=false hg co
+  merging zzz1_merge_ok
+  merging zzz2_merge_bad
+  merging zzz2_merge_bad failed!
+  3 files updated, 1 files merged, 2 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+
+  $ hg co 0
+  merging zzz1_merge_ok
+  merging zzz2_merge_bad
+  warning: conflicts during merge.
+  merging zzz2_merge_bad failed!
+  2 files updated, 1 files merged, 3 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+
+  $ hg diff --nodates | grep "^[+-][^<>]"
+  --- a/zzz1_merge_ok
+  +++ b/zzz1_merge_ok
+  +new last line
+  --- a/zzz2_merge_bad
+  +++ b/zzz2_merge_bad
+  +another last line
+  +=======
+
+  $ hg st
+  M zzz1_merge_ok
+  M zzz2_merge_bad
+  ? zzz2_merge_bad.orig
+
+Local merge with conflicts:
+
+  $ hg co
+  merging zzz1_merge_ok
+  merging zzz2_merge_bad
+  warning: conflicts during merge.
+  merging zzz2_merge_bad failed!
+  3 files updated, 1 files merged, 2 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+
+  $ hg co 0
+  merging zzz1_merge_ok
+  merging zzz2_merge_bad
+  warning: conflicts during merge.
+  merging zzz2_merge_bad failed!
+  2 files updated, 1 files merged, 3 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+
+  $ hg diff --nodates | grep "^[+-][^<>]"
+  --- a/zzz1_merge_ok
+  +++ b/zzz1_merge_ok
+  +new last line
+  --- a/zzz2_merge_bad
+  +++ b/zzz2_merge_bad
+  +another last line
+  +=======
+  +=======
+  +new last line
+  +=======
+
+  $ hg st
+  M zzz1_merge_ok
+  M zzz2_merge_bad
+  ? zzz2_merge_bad.orig
+
+Local merge without conflicts:
+
+  $ hg revert zzz2_merge_bad
+
+  $ hg co
+  merging zzz1_merge_ok
+  4 files updated, 1 files merged, 2 files removed, 0 files unresolved
+
+  $ hg diff --nodates | grep "^[+-][^<>]"
+  --- a/zzz1_merge_ok
+  +++ b/zzz1_merge_ok
+  +new last line
+
+  $ hg st
+  M zzz1_merge_ok
+  ? zzz2_merge_bad.orig
+