Mercurial > hg
changeset 27125:969ca40cad1d
test-merge-changedelete.t: add a file with regular merge conflicts
In upcoming patches we're going to move change/delete conflicts to the resolve
phase -- it will be important to see how regular conflicts interact with
change/delete ones.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Mon, 23 Nov 2015 13:43:14 -0800 |
parents | 9c870e3efab7 |
children | 72b4e1bf8f28 |
files | tests/test-merge-changedelete.t |
diffstat | 1 files changed, 62 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-merge-changedelete.t Tue Nov 24 10:58:35 2015 -0800 +++ b/tests/test-merge-changedelete.t Mon Nov 23 13:43:14 2015 -0800 @@ -10,8 +10,8 @@ $ status() { > echo "--- status ---" - > hg st -A file1 file2 - > for file in file1 file2; do + > hg st -A file1 file2 file3 + > for file in file1 file2 file3; do > if [ -f $file ]; then > echo "--- $file ---" > cat $file @@ -25,20 +25,24 @@ $ echo 1 > file1 $ echo 2 > file2 - $ hg ci -Am 'added file1 and file2' + $ echo 3 > file3 + $ hg ci -Am 'added files' adding file1 adding file2 + adding file3 $ hg rm file1 $ echo changed >> file2 - $ hg ci -m 'removed file1, changed file2' + $ echo changed1 >> file3 + $ hg ci -m 'removed file1, changed file2, changed file3' $ hg co 0 - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo changed >> file1 $ hg rm file2 - $ hg ci -m 'changed file1, removed file2' + $ echo changed2 >> file3 + $ hg ci -m 'changed file1, removed file2, changed file3' created new head @@ -49,12 +53,16 @@ use (c)hanged version or (d)elete? c remote changed file2 which local deleted use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) + merging file3 + warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') + 1 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] $ status --- status --- M file2 + M file3 C file1 --- file1 --- 1 @@ -62,12 +70,19 @@ --- file2 --- 2 changed + --- file3 --- + 3 + <<<<<<< local: 13910f48cf7b - test: changed file1, removed file2, changed file3 + changed2 + ======= + changed1 + >>>>>>> other: 10f9a0a634e8 - test: removed file1, changed file2, changed file3 Interactive merge: $ hg co -C - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg merge --config ui.interactive=true <<EOF > c @@ -77,23 +92,34 @@ use (c)hanged version or (d)elete? c remote changed file2 which local deleted use (c)hanged version or leave (d)eleted? d - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) + merging file3 + warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] $ status --- status --- file2: * (glob) + M file3 C file1 --- file1 --- 1 changed *** file2 does not exist + --- file3 --- + 3 + <<<<<<< local: 13910f48cf7b - test: changed file1, removed file2, changed file3 + changed2 + ======= + changed1 + >>>>>>> other: 10f9a0a634e8 - test: removed file1, changed file2, changed file3 Interactive merge with bad input: $ hg co -C - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg merge --config ui.interactive=true <<EOF > foo @@ -115,23 +141,34 @@ unrecognized response remote changed file2 which local deleted use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved - (branch merge, don't forget to commit) + merging file3 + warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') + 1 files updated, 0 files merged, 1 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] $ status --- status --- M file2 + M file3 R file1 *** file1 does not exist --- file2 --- 2 changed + --- file3 --- + 3 + <<<<<<< local: 13910f48cf7b - test: changed file1, removed file2, changed file3 + changed2 + ======= + changed1 + >>>>>>> other: 10f9a0a634e8 - test: removed file1, changed file2, changed file3 Interactive merge with not enough input: $ hg co -C - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg merge --config ui.interactive=true <<EOF > d @@ -146,15 +183,19 @@ --- status --- file2: * (glob) C file1 + C file3 --- file1 --- 1 changed *** file2 does not exist + --- file3 --- + 3 + changed2 Non-interactive linear update $ hg co -C 0 - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo changed >> file1 $ hg rm file2 $ hg update 1 -y @@ -162,14 +203,18 @@ use (c)hanged version or (d)elete? c remote changed file2 which local deleted use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ status --- status --- A file1 C file2 + C file3 --- file1 --- 1 changed --- file2 --- 2 changed + --- file3 --- + 3 + changed1