# HG changeset patch # User Siddharth Agarwal # Date 1450903905 28800 # Node ID ad5966de3c9a20fd2ec6791f8b488b257f8c528f # Parent 97e39f70fb47dbd0751b362880c6642ec5dd7123 filemerge: default change/delete conflicts to 'leave unresolved' (BC) It makes far more sense to leave these conflicts unresolved and kick back to the user than to just assume that the local version be chosen. There are almost certainly buggy scripts and applications using Mercurial in the wild that do merges or rebases non-interactively, and then assume that if the operation succeeded there's nothing the user needs to pay attention to. (This wasn't possible earlier because there was no way to re-resolve change/delete conflicts -- but now it is.) diff -r 97e39f70fb47 -r ad5966de3c9a mercurial/filemerge.py --- a/mercurial/filemerge.py Wed Dec 23 12:41:20 2015 -0800 +++ b/mercurial/filemerge.py Wed Dec 23 12:51:45 2015 -0800 @@ -240,14 +240,14 @@ index = ui.promptchoice( _("local changed %s which remote deleted\n" "use (c)hanged version, (d)elete, or leave (u)nresolved?" - "$$ &Changed $$ &Delete $$ &Unresolved") % fd, 0) + "$$ &Changed $$ &Delete $$ &Unresolved") % fd, 2) choice = ['local', 'other', 'unresolved'][index] elif fcd.isabsent(): index = ui.promptchoice( _("remote changed %s which local deleted\n" "use (c)hanged version, leave (d)eleted, or " "leave (u)nresolved?" - "$$ &Changed $$ &Deleted $$ &Unresolved") % fd, 0) + "$$ &Changed $$ &Deleted $$ &Unresolved") % fd, 2) choice = ['other', 'local', 'unresolved'][index] else: index = ui.promptchoice( diff -r 97e39f70fb47 -r ad5966de3c9a tests/test-merge-changedelete.t --- a/tests/test-merge-changedelete.t Wed Dec 23 12:41:20 2015 -0800 +++ b/tests/test-merge-changedelete.t Wed Dec 23 12:51:45 2015 -0800 @@ -55,12 +55,12 @@ $ hg merge -y local changed file1 which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed file2 which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging file3 warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') - 0 files updated, 2 files merged, 0 files removed, 1 files unresolved + 0 files updated, 0 files merged, 0 files removed, 3 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] @@ -70,18 +70,18 @@ M file3 C file1 --- resolve --list --- - R file1 - R file2 + U file1 + U file2 U file3 --- debugmergestate --- * version 2 records local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4 other: 10f9a0a634e82080907e62f075ab119cbc565ea6 - file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) + file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390) local path: file1 (flags "") ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node null) - file: file2 (record type "C", state "r", hash null) + file: file2 (record type "C", state "u", hash null) local path: file2 (flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) @@ -470,12 +470,12 @@ $ hg merge --tool :prompt local changed file1 which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed file2 which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u no tool found to merge file3 keep (l)ocal, take (o)ther, or leave (u)nresolved? u - 0 files updated, 2 files merged, 0 files removed, 1 files unresolved + 0 files updated, 0 files merged, 0 files removed, 3 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] $ status @@ -484,18 +484,18 @@ M file3 C file1 --- resolve --list --- - R file1 - R file2 + U file1 + U file2 U file3 --- debugmergestate --- * version 2 records local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4 other: 10f9a0a634e82080907e62f075ab119cbc565ea6 - file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) + file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390) local path: file1 (flags "") ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node null) - file: file2 (record type "C", state "r", hash null) + file: file2 (record type "C", state "u", hash null) local path: file2 (flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) @@ -520,12 +520,12 @@ $ hg merge --tool :merge3 local changed file1 which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed file2 which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging file3 warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') - 0 files updated, 2 files merged, 0 files removed, 1 files unresolved + 0 files updated, 0 files merged, 0 files removed, 3 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] $ status @@ -534,18 +534,18 @@ M file3 C file1 --- resolve --list --- - R file1 - R file2 + U file1 + U file2 U file3 --- debugmergestate --- * version 2 records local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4 other: 10f9a0a634e82080907e62f075ab119cbc565ea6 - file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) + file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390) local path: file1 (flags "") ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node null) - file: file2 (record type "C", state "r", hash null) + file: file2 (record type "C", state "u", hash null) local path: file2 (flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) @@ -679,27 +679,29 @@ $ hg rm file2 $ hg update 1 -y local changed file1 which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed file2 which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c - 1 files updated, 2 files merged, 0 files removed, 0 files unresolved + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u + 1 files updated, 0 files merged, 0 files removed, 2 files unresolved + use 'hg resolve' to retry unresolved file merges + [1] $ status --- status --- A file1 C file2 C file3 --- resolve --list --- - R file1 - R file2 + U file1 + U file2 --- debugmergestate --- * version 2 records local: ab57bf49aa276a22d35a473592d4c34b5abc3eff other: 10f9a0a634e82080907e62f075ab119cbc565ea6 - file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) + file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390) local path: file1 (flags "") ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node null) - file: file2 (record type "C", state "r", hash null) + file: file2 (record type "C", state "u", hash null) local path: file2 (flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) @@ -878,27 +880,29 @@ $ hg rm file2 $ hg update 1 --tool :merge3 local changed file1 which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed file2 which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c - 1 files updated, 2 files merged, 0 files removed, 0 files unresolved + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u + 1 files updated, 0 files merged, 0 files removed, 2 files unresolved + use 'hg resolve' to retry unresolved file merges + [1] $ status --- status --- A file1 C file2 C file3 --- resolve --list --- - R file1 - R file2 + U file1 + U file2 --- debugmergestate --- * version 2 records local: ab57bf49aa276a22d35a473592d4c34b5abc3eff other: 10f9a0a634e82080907e62f075ab119cbc565ea6 - file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) + file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390) local path: file1 (flags "") ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node null) - file: file2 (record type "C", state "r", hash null) + file: file2 (record type "C", state "u", hash null) local path: file2 (flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) diff -r 97e39f70fb47 -r ad5966de3c9a tests/test-merge-force.t --- a/tests/test-merge-force.t Wed Dec 23 12:41:20 2015 -0800 +++ b/tests/test-merge-force.t Wed Dec 23 12:51:45 2015 -0800 @@ -143,55 +143,55 @@ $ hg merge -f --tool internal:merge3 'desc("remote")' local changed content1_missing_content1_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_content3_content3-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_content3_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_missing_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u remote changed content1_content2_content1_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_content3-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content1_content4-tracked merging content1_content2_content2_content1-tracked merging content1_content2_content2_content4-tracked @@ -215,7 +215,7 @@ warning: conflicts while merging missing_content2_content3_content4-tracked! (edit, then use 'hg resolve --mark') warning: conflicts while merging missing_content2_missing_content4-tracked! (edit, then use 'hg resolve --mark') warning: conflicts while merging missing_content2_missing_content4-untracked! (edit, then use 'hg resolve --mark') - 18 files updated, 28 files merged, 8 files removed, 10 files unresolved + 18 files updated, 3 files merged, 8 files removed, 35 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] @@ -227,39 +227,39 @@ odd 'if force and branchmerge and different' case in manifestmerge(). $ hg resolve -l - R content1_content2_content1_content1-untracked - R content1_content2_content1_content2-untracked + U content1_content2_content1_content1-untracked + U content1_content2_content1_content2-untracked U content1_content2_content1_content4-tracked - R content1_content2_content1_content4-untracked - R content1_content2_content1_missing-tracked - R content1_content2_content1_missing-untracked + U content1_content2_content1_content4-untracked + U content1_content2_content1_missing-tracked + U content1_content2_content1_missing-untracked R content1_content2_content2_content1-tracked - R content1_content2_content2_content1-untracked - R content1_content2_content2_content2-untracked + U content1_content2_content2_content1-untracked + U content1_content2_content2_content2-untracked U content1_content2_content2_content4-tracked - R content1_content2_content2_content4-untracked - R content1_content2_content2_missing-tracked - R content1_content2_content2_missing-untracked + U content1_content2_content2_content4-untracked + U content1_content2_content2_missing-tracked + U content1_content2_content2_missing-untracked R content1_content2_content3_content1-tracked - R content1_content2_content3_content1-untracked - R content1_content2_content3_content2-untracked + U content1_content2_content3_content1-untracked + U content1_content2_content3_content2-untracked U content1_content2_content3_content3-tracked - R content1_content2_content3_content3-untracked + U content1_content2_content3_content3-untracked U content1_content2_content3_content4-tracked - R content1_content2_content3_content4-untracked - R content1_content2_content3_missing-tracked - R content1_content2_content3_missing-untracked + U content1_content2_content3_content4-untracked + U content1_content2_content3_missing-tracked + U content1_content2_content3_missing-untracked R content1_content2_missing_content1-tracked - R content1_content2_missing_content1-untracked - R content1_content2_missing_content2-untracked + U content1_content2_missing_content1-untracked + U content1_content2_missing_content2-untracked U content1_content2_missing_content4-tracked - R content1_content2_missing_content4-untracked - R content1_content2_missing_missing-tracked - R content1_content2_missing_missing-untracked - R content1_missing_content1_content4-tracked - R content1_missing_content3_content3-tracked - R content1_missing_content3_content4-tracked - R content1_missing_missing_content4-tracked + U content1_content2_missing_content4-untracked + U content1_content2_missing_missing-tracked + U content1_content2_missing_missing-untracked + U content1_missing_content1_content4-tracked + U content1_missing_content3_content3-tracked + U content1_missing_content3_content4-tracked + U content1_missing_missing_content4-tracked U missing_content2_content2_content4-tracked U missing_content2_content3_content3-tracked U missing_content2_content3_content4-tracked @@ -705,63 +705,63 @@ $ hg resolve --unmark --all $ hg resolve --all --tool internal:merge3 remote changed content1_content2_content1_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content1_content4-tracked remote changed content1_content2_content1_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content1_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content2_content1-tracked remote changed content1_content2_content2_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content2_content4-tracked remote changed content1_content2_content2_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content2_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content3_content1-tracked remote changed content1_content2_content3_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content3_content3-tracked remote changed content1_content2_content3_content3-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content3_content4-tracked remote changed content1_content2_content3_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_content3_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_missing_content1-tracked remote changed content1_content2_missing_content1-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_content2-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_missing_content4-tracked remote changed content1_content2_missing_content4-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_missing-tracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u remote changed content1_content2_missing_missing-untracked which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u local changed content1_missing_content1_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_content3_content3-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_content3_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u local changed content1_missing_missing_content4-tracked which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u merging missing_content2_content2_content4-tracked merging missing_content2_content3_content3-tracked merging missing_content2_content3_content4-tracked diff -r 97e39f70fb47 -r ad5966de3c9a tests/test-merge-remove.t --- a/tests/test-merge-remove.t Wed Dec 23 12:41:20 2015 -0800 +++ b/tests/test-merge-remove.t Wed Dec 23 12:51:45 2015 -0800 @@ -103,10 +103,11 @@ $ hg merge -f remote changed bar which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging foo1 and foo to foo1 - 0 files updated, 2 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) + 0 files updated, 1 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] $ cat bar bleh $ hg st diff -r 97e39f70fb47 -r ad5966de3c9a tests/test-rename-merge2.t --- a/tests/test-rename-merge2.t Wed Dec 23 12:41:20 2015 -0800 +++ b/tests/test-rename-merge2.t Wed Dec 23 12:51:45 2015 -0800 @@ -684,7 +684,7 @@ a: prompt deleted/changed -> m (premerge) picked tool ':prompt' for a (binary False symlink False changedelete True) remote changed a which local deleted - use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c + use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u b: both created -> m (premerge) picked tool 'python ../merge' for b (binary False symlink False changedelete False) merging b @@ -703,11 +703,12 @@ my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob) merge tool returned: 0 - 0 files updated, 3 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) + 0 files updated, 2 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon -------------- M a M b + abort: unresolved merge conflicts (see "hg help resolve") -------------- $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" @@ -727,7 +728,7 @@ a: prompt changed/deleted -> m (premerge) picked tool ':prompt' for a (binary False symlink False changedelete True) local changed a which remote deleted - use (c)hanged version, (d)elete, or leave (u)nresolved? c + use (c)hanged version, (d)elete, or leave (u)nresolved? u b: both created -> m (premerge) picked tool 'python ../merge' for b (binary False symlink False changedelete False) merging b @@ -746,11 +747,12 @@ my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob) merge tool returned: 0 - 0 files updated, 3 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) + 0 files updated, 2 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon -------------- M b C a + abort: unresolved merge conflicts (see "hg help resolve") -------------- $ tm "up a " "um a b" " " "20 merge a and b to b, remove a"