Mercurial > hg
view tests/test-merge-local.t @ 24754:5dc5cd7abbf5
push: acquire local 'wlock' if "pushback" is expected (BC) (issue4596)
If the client allows "pushback", the bundle2 served back by the server may
contains parts that will write to the repository. Such parts may require the
'wlock' (eg: bookmark) so we acquire it in advance to make sure it got acquired
before the 'lock'.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 15 Apr 2015 10:36:21 -0400 |
parents | 2371f4aea665 |
children | ef1eb6df7071 |
line wrap: on
line source
$ 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