diff options
Diffstat (limited to 'tests/test-merge-local.t')
-rw-r--r-- | tests/test-merge-local.t | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/tests/test-merge-local.t b/tests/test-merge-local.t new file mode 100644 index 0000000..8e1e5b1 --- /dev/null +++ b/tests/test-merge-local.t @@ -0,0 +1,138 @@ + $ 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 + [1] + + $ hg co 0 + merging zzz1_merge_ok + merging zzz2_merge_bad + warning: conflicts during merge. + merging zzz2_merge_bad incomplete! (edit conflicts, then use 'hg resolve --mark') + 2 files updated, 1 files merged, 3 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges + [1] + + $ 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 incomplete! (edit conflicts, then use 'hg resolve --mark') + 3 files updated, 1 files merged, 2 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges + [1] + + $ hg co 0 + merging zzz1_merge_ok + merging zzz2_merge_bad + warning: conflicts during merge. + merging zzz2_merge_bad incomplete! (edit conflicts, then use 'hg resolve --mark') + 2 files updated, 1 files merged, 3 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges + [1] + + $ 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 + |