sapling/eden/scm/tests/test-merge-local.t

158 lines
3.6 KiB
Perl
Raw Normal View History

#chg-compatible
#debugruntest-compatible
$ eagerepo
$ setconfig workingcopy.ruststatus=false
$ hg init repo
$ cd repo
2010-09-11 23:19:12 +04:00
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 c929647821fa73cdd20aa068da4153b2182c2731
2010-09-11 23:19:12 +04:00
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
2010-09-17 02:51:32 +04:00
[1]
2010-09-11 23:19:12 +04:00
$ hg resolve -m
(no more unresolved files)
$ hg co c929647821fa73cdd20aa068da4153b2182c2731
2010-09-11 23:19:12 +04:00
merging zzz1_merge_ok
merging zzz2_merge_bad
warning: 1 conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
2 files updated, 1 files merged, 3 files removed, 1 files unresolved
2010-09-11 23:19:12 +04:00
use 'hg resolve' to retry unresolved file merges
2010-09-17 02:51:32 +04:00
[1]
2010-09-11 23:19:12 +04:00
$ 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 resolve -m
(no more unresolved files)
2010-09-11 23:19:12 +04:00
$ hg co
merging zzz1_merge_ok
merging zzz2_merge_bad
warning: 1 conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
2010-09-11 23:19:12 +04:00
3 files updated, 1 files merged, 2 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
2010-09-17 02:51:32 +04:00
[1]
2010-09-11 23:19:12 +04:00
$ hg resolve -m
(no more unresolved files)
$ hg co c929647821fa73cdd20aa068da4153b2182c2731 --config 'ui.origbackuppath=.hg/origbackups'
2010-09-11 23:19:12 +04:00
merging zzz1_merge_ok
merging zzz2_merge_bad
warning: 1 conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
2 files updated, 1 files merged, 3 files removed, 1 files unresolved
2010-09-11 23:19:12 +04:00
use 'hg resolve' to retry unresolved file merges
2010-09-17 02:51:32 +04:00
[1]
2010-09-11 23:19:12 +04:00
Are orig files from the last commit where we want them?
$ ls .hg/origbackups
zzz2_merge_bad
2010-09-11 23:19:12 +04:00
$ 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 resolve -m
(no more unresolved files)
2010-09-11 23:19:12 +04:00
$ 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