[PATCH 4 of 4 mergedriver] filemerge: default change/delete conflicts to 'leave unresolved' (BC)
Augie Fackler
raf at durin42.com
Thu Dec 31 10:46:46 CST 2015
On Wed, Dec 23, 2015 at 12:54:02PM -0800, Siddharth Agarwal wrote:
> # HG changeset patch
> # User Siddharth Agarwal <sid0 at fb.com>
> # Date 1450903905 28800
> # Wed Dec 23 12:51:45 2015 -0800
> # Node ID 1059f0e46c9c1d1d88ce80bbbd7b8acb959e10e1
> # Parent 1a9f3945bca494f92ae7e94bf5d6becf519e0c69
> # Available At http://42.netv6.net/sid0-wip/hg/
> # hg pull http://42.netv6.net/sid0-wip/hg/ -r 1059f0e46c9c
> filemerge: default change/delete conflicts to 'leave unresolved' (BC)
I'm a big fan. The old behavior is actually surprising to me, and I'm
probably the author of at least one such buggy script.
>
> 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 --git a/mercurial/filemerge.py b/mercurial/filemerge.py
> --- a/mercurial/filemerge.py
> +++ b/mercurial/filemerge.py
> @@ -240,14 +240,14 @@ def _iprompt(repo, mynode, orig, fcd, fc
> 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 --git a/tests/test-merge-changedelete.t b/tests/test-merge-changedelete.t
> --- a/tests/test-merge-changedelete.t
> +++ b/tests/test-merge-changedelete.t
> @@ -55,12 +55,12 @@ Non-interactive merge:
>
> $ 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 @@ Non-interactive merge:
> 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 @@ Force prompts
>
> $ 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 @@ Force prompts
> 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 @@ Choose to merge all files
>
> $ 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 @@ Choose to merge all files
> 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 @@ Non-interactive linear update
> $ 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 @@ Choose to merge all files
> $ 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 --git a/tests/test-merge-force.t b/tests/test-merge-force.t
> --- a/tests/test-merge-force.t
> +++ b/tests/test-merge-force.t
> @@ -143,55 +143,55 @@ Merge with remote
>
> $ 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 @@ Merge with remote
> 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 @@ Interestingly, one untracked file got me
> 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 @@ Re-resolve and check status
> $ 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 --git a/tests/test-merge-remove.t b/tests/test-merge-remove.t
> --- a/tests/test-merge-remove.t
> +++ b/tests/test-merge-remove.t
> @@ -103,10 +103,11 @@ Those who use force will lose
>
> $ 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 --git a/tests/test-rename-merge2.t b/tests/test-rename-merge2.t
> --- a/tests/test-rename-merge2.t
> +++ b/tests/test-rename-merge2.t
> @@ -684,7 +684,7 @@ m "um a c" "um x c" " " "10 do merg
> 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 @@ m "um a c" "um x c" " " "10 do merg
> my rev at 02963e448370+ other rev at 8dbce441892a ancestor rev at 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 @@ m "um a c" "um x c" " " "10 do merg
> 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 @@ m "um a c" "um x c" " " "10 do merg
> my rev at 0b76e65c8289+ other rev at bdb19105162a ancestor rev at 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"
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list