From patchwork Sun Mar 20 03:52:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2,of,2] merge: use labels in prompts to the user From: Simon Farnsworth X-Patchwork-Id: 13976 Message-Id: <1u2v9nm3f1ym83x76p3b8ug0.1458445933641@email.android.com> To: "timeless@gmail.com" Cc: mercurial-devel Date: Sun, 20 Mar 2016 03:52:17 +0000 Good point. I think that I might make translations a little worse in this version, as 'local' and 'other' will not be translated. I can fix this in a V2, but I'm not sure what happens with the labels - they're already exposed to users, so should be translated. Sent from Mobile -------- Original message -------- From: timeless Date: 19/03/2016 18:57 (GMT-08:00) To: Simon Farnsworth Cc: mercurial-devel Subject: Re: [PATCH 2 of 2] merge: use labels in prompts to the user I don't suppose you know what this would look like for a translation? (I should probably mock one up to test it...) On Mar 19, 2016 9:29 PM, "Simon Farnsworth" > wrote: # HG changeset patch # User Simon Farnsworth > # Date 1458436919 25200 # Sat Mar 19 18:21:59 2016 -0700 # Node ID 10b438b40a8d7da24a2ca51e66385257d1bf69ad # Parent 015b096baa079eda4b1ae754b9665017620d8f8c merge: use labels in prompts to the user Now that we persist the labels, we can consistently use the labels in prompts for the user without risk of confusion. This changes a huge amount of command output: This means that merge prompts like: no tool found to merge a keep (l)ocal, take (o)ther, or leave (u)nresolved? u and remote changed a which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c become: no tool found to merge a keep (l)ocal [working copy], take (o)ther [destination], or leave (u)nresolved? u and other [source] changed a which local [dest] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c where "working copy" and "destination" were supplied by the command that requested the merge as labels for conflict markers, and thus should be human-friendly. diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py --- a/mercurial/filemerge.py +++ b/mercurial/filemerge.py @@ -229,50 +229,56 @@ util.writefile(file, newdata) @internaltool('prompt', nomerge) -def _iprompt(repo, mynode, orig, fcd, fco, fca, toolconf): +def _iprompt(repo, mynode, orig, fcd, fco, fca, toolconf, labels=None): """Asks the user which of the local or the other version to keep as the merged version.""" ui = repo.ui fd = fcd.path() + prompts = partnames(labels) + prompts['fd'] = fd try: if fco.isabsent(): index = ui.promptchoice( - _("local changed %s which remote deleted\n" + _("%(local)s changed %(fd)s which %(other)s deleted\n" "use (c)hanged version, (d)elete, or leave (u)nresolved?" - "$$ &Changed $$ &Delete $$ &Unresolved") % fd, 2) + "$$ &Changed $$ &Delete $$ &Unresolved") % prompts, 2) choice = ['local', 'other', 'unresolved'][index] elif fcd.isabsent(): index = ui.promptchoice( - _("remote changed %s which local deleted\n" + _("%(other)s changed %(fd)s which %(local)s deleted\n" "use (c)hanged version, leave (d)eleted, or " "leave (u)nresolved?" - "$$ &Changed $$ &Deleted $$ &Unresolved") % fd, 2) + "$$ &Changed $$ &Deleted $$ &Unresolved") % prompts, 2) choice = ['other', 'local', 'unresolved'][index] else: index = ui.promptchoice( - _("no tool found to merge %s\n" - "keep (l)ocal, take (o)ther, or leave (u)nresolved?" - "$$ &Local $$ &Other $$ &Unresolved") % fd, 2) + _("no tool found to merge %(fd)s\n" + "keep %(localact)s, take %(otheract)s, or leave (u)nresolved?" + "$$ &Local $$ &Other $$ &Unresolved") % prompts, 2) choice = ['local', 'other', 'unresolved'][index] if choice == 'other': - return _iother(repo, mynode, orig, fcd, fco, fca, toolconf) + return _iother(repo, mynode, orig, fcd, fco, fca, toolconf, + labels) elif choice == 'local': - return _ilocal(repo, mynode, orig, fcd, fco, fca, toolconf) + return _ilocal(repo, mynode, orig, fcd, fco, fca, toolconf, + labels) elif choice == 'unresolved': - return _ifail(repo, mynode, orig, fcd, fco, fca, toolconf) + return _ifail(repo, mynode, orig, fcd, fco, fca, toolconf, + labels) except error.ResponseExpected: ui.write("\n") - return _ifail(repo, mynode, orig, fcd, fco, fca, toolconf) + return _ifail(repo, mynode, orig, fcd, fco, fca, toolconf, + labels) @internaltool('local', nomerge) -def _ilocal(repo, mynode, orig, fcd, fco, fca, toolconf): +def _ilocal(repo, mynode, orig, fcd, fco, fca, toolconf, labels=None): """Uses the local version of files as the merged version.""" return 0, fcd.isabsent() @internaltool('other', nomerge) -def _iother(repo, mynode, orig, fcd, fco, fca, toolconf): +def _iother(repo, mynode, orig, fcd, fco, fca, toolconf, labels=None): """Uses the other version of files as the merged version.""" if fco.isabsent(): # local changed, remote deleted -- 'deleted' picked @@ -284,7 +290,7 @@ return 0, deleted @internaltool('fail', nomerge) -def _ifail(repo, mynode, orig, fcd, fco, fca, toolconf): +def _ifail(repo, mynode, orig, fcd, fco, fca, toolconf, labels=None): """ Rather than attempting to merge files that were modified on both branches, it marks them as unresolved. The resolve command must be @@ -536,6 +542,25 @@ newlabels.append(_formatconflictmarker(repo, ca, tmpl, labels[2], pad)) return newlabels +def partnames(labels): + """Return a dictionary of merge part names for use in prompts to the user + + These names include labels if supplied""" + if labels is None: + return { + "local": "local", + "other": "other", + "localact": "(l)ocal", + "otheract": "(o)ther", + } + + return { + "local": "local [%s]" % labels[0], + "other": "other [%s]" % labels[1], + "localact": "(l)ocal [%s]" % labels[0], + "otheract": "(o)ther [%s]" % labels[1], + } + def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None): """perform a 3-way merge in the working directory @@ -587,7 +612,7 @@ toolconf = tool, toolpath, binary, symlink if mergetype == nomerge: - r, deleted = func(repo, mynode, orig, fcd, fco, fca, toolconf) + r, deleted = func(repo, mynode, orig, fcd, fco, fca, toolconf, labels) return True, r, deleted if premerge: diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1537,11 +1537,13 @@ if '.hgsubstate' in actionbyfile: f = '.hgsubstate' m, args, msg = actionbyfile[f] + prompts = filemerge.partnames(labels) + prompts['f'] = f if m == 'cd': if repo.ui.promptchoice( - _("local changed %s which remote deleted\n" + _("%(local)s changed %(f)s which %(other)s deleted\n" "use (c)hanged version or (d)elete?" - "$$ &Changed $$ &Delete") % f, 0): + "$$ &Changed $$ &Delete") % prompts, 0): actionbyfile[f] = ('r', None, "prompt delete") elif f in p1: actionbyfile[f] = ('am', None, "prompt keep") @@ -1551,9 +1553,9 @@ f1, f2, fa, move, anc = args flags = p2[f2].flags() if repo.ui.promptchoice( - _("remote changed %s which local deleted\n" + _("%(other)s changed %(f)s which %(local)s deleted\n" "use (c)hanged version or leave (d)eleted?" - "$$ &Changed $$ &Deleted") % f, 0) == 0: + "$$ &Changed $$ &Deleted") % prompts, 0) == 0: actionbyfile[f] = ('g', (flags, False), "prompt recreating") else: del actionbyfile[f] diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py --- a/tests/failfilemerge.py +++ b/tests/failfilemerge.py @@ -9,7 +9,7 @@ ) def failfilemerge(filemergefn, - premerge, repo, mynode, orig, fcd, fco, fca, labels=None): + premerge, repo, mynode, orig, fcd, fco, fca, labels=None): raise error.Abort("^C") return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels) diff --git a/tests/test-commit-amend.t b/tests/test-commit-amend.t --- a/tests/test-commit-amend.t +++ b/tests/test-commit-amend.t @@ -813,7 +813,7 @@ $ hg merge -q bar --config ui.interactive=True << EOF > c > EOF - local changed aa which remote deleted + local changed aa which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? c $ hg ci -m 'merge bar (with conflicts)' $ hg log --config diff.git=1 -pr . diff --git a/tests/test-copy-move-merge.t b/tests/test-copy-move-merge.t --- a/tests/test-copy-move-merge.t +++ b/tests/test-copy-move-merge.t @@ -85,7 +85,7 @@ > c > EOF rebasing 2:add3f11052fa "other" (tip) - remote changed a which local deleted + other [source] changed a which local [dest] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c $ cat b diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t --- a/tests/test-largefiles-update.t +++ b/tests/test-largefiles-update.t @@ -611,7 +611,7 @@ > EOF rebasing 1:72518492caa6 "#1" rebasing 4:07d6153b5c04 "#4" - local changed .hglf/large1 which remote deleted + local [dest] changed .hglf/large1 which other [source] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? c $ hg diff -c "tip~1" --nodates .hglf/large1 | grep '^[+-][0-9a-z]' 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 @@ -54,9 +54,9 @@ Non-interactive merge: $ hg merge -y - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed file2 which local deleted + other changed file2 which local deleted 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') @@ -117,9 +117,9 @@ > c > d > EOF - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? c - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? d merging file3 warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') @@ -181,18 +181,18 @@ > baz > c > EOF - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? foo unrecognized response - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? bar unrecognized response - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? d - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? baz unrecognized response - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c merging file3 warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') @@ -250,9 +250,9 @@ $ hg merge --config ui.interactive=true < d > EOF - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? d - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? merging file3 warning: conflicts while merging file3! (edit, then use 'hg resolve --mark') @@ -445,9 +445,9 @@ 1 other heads for branch "default" $ hg merge --config ui.interactive=True --tool :prompt - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? no tool found to merge file3 keep (l)ocal, take (o)ther, or leave (u)nresolved? @@ -501,9 +501,9 @@ 1 other heads for branch "default" $ hg merge --tool :prompt - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed file2 which local deleted + other changed file2 which local deleted 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 @@ -555,9 +555,9 @@ 1 other heads for branch "default" $ hg merge --tool :merge3 - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed file2 which local deleted + other changed file2 which local deleted 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') @@ -642,9 +642,9 @@ (status identical) === :other -> :prompt === - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? no tool found to merge file3 keep (l)ocal, take (o)ther, or leave (u)nresolved? @@ -671,9 +671,9 @@ (status identical) === :local -> :prompt === - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? no tool found to merge file3 keep (l)ocal, take (o)ther, or leave (u)nresolved? @@ -690,9 +690,9 @@ (status identical) === :fail -> :prompt === - local changed file1 which remote deleted + local changed file1 which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other changed file2 which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? no tool found to merge file3 keep (l)ocal, take (o)ther, or leave (u)nresolved? @@ -717,9 +717,9 @@ $ echo changed >> file1 $ hg rm file2 $ hg update 1 -y - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted 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 @@ -893,9 +893,9 @@ $ echo changed >> file1 $ hg rm file2 $ hg update 1 --config ui.interactive=True --tool :prompt - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? 1 files updated, 0 files merged, 0 files removed, 2 files unresolved use 'hg resolve' to retry unresolved file merges @@ -943,9 +943,9 @@ $ echo changed >> file1 $ hg rm file2 $ hg update 1 --tool :merge3 - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted 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 @@ -999,9 +999,9 @@ (status identical) === :other -> :prompt === - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? --- diff of status --- (status identical) @@ -1026,9 +1026,9 @@ (status identical) === :local -> :prompt === - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? --- diff of status --- (status identical) @@ -1043,9 +1043,9 @@ (status identical) === :fail -> :prompt === - local changed file1 which remote deleted + local [working copy] changed file1 which other [destination] deleted use (c)hanged version, (d)elete, or leave (u)nresolved? - remote changed file2 which local deleted + other [destination] changed file2 which local [working copy] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? --- diff of status --- (status identical) 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 @@ -142,55 +142,55 @@ # in the same way, so it could potentially be left alone $ hg merge -f --tool internal:merge3 'desc("remote")' 2>&1 | tee $TESTTMP/merge-output-1 - local changed content1_missing_content1_content4-tracked which remote deleted + local changed content1_missing_content1_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_content3_content3-tracked which remote deleted + local changed content1_missing_content3_content3-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_content3_content4-tracked which remote deleted + local changed content1_missing_content3_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_missing_content4-tracked which remote deleted + local changed content1_missing_missing_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - remote changed content1_content2_content1_content1-untracked which local deleted + other changed content1_content2_content1_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_content2-untracked which local deleted + other changed content1_content2_content1_content2-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_content4-untracked which local deleted + other changed content1_content2_content1_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_missing-tracked which local deleted + other changed content1_content2_content1_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_missing-untracked which local deleted + other changed content1_content2_content1_missing-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_content1-untracked which local deleted + other changed content1_content2_content2_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_content2-untracked which local deleted + other changed content1_content2_content2_content2-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_content4-untracked which local deleted + other changed content1_content2_content2_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_missing-tracked which local deleted + other changed content1_content2_content2_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_missing-untracked which local deleted + other changed content1_content2_content2_missing-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_content1-untracked which local deleted + other changed content1_content2_content3_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_content2-untracked which local deleted + other changed content1_content2_content3_content2-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_content3-untracked which local deleted + other changed content1_content2_content3_content3-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_content4-untracked which local deleted + other changed content1_content2_content3_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_missing-tracked which local deleted + other changed content1_content2_content3_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_missing-untracked which local deleted + other changed content1_content2_content3_missing-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_content1-untracked which local deleted + other changed content1_content2_missing_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_content2-untracked which local deleted + other changed content1_content2_missing_content2-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_content4-untracked which local deleted + other changed content1_content2_missing_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_missing-tracked which local deleted + other changed content1_content2_missing_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_missing-untracked which local deleted + other changed content1_content2_missing_missing-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging content1_content2_content1_content4-tracked merging content1_content2_content2_content1-tracked @@ -703,63 +703,63 @@ (no more unresolved files) $ hg resolve --unmark --all $ hg resolve --all --tool internal:merge3 - remote changed content1_content2_content1_content1-untracked which local deleted + other changed content1_content2_content1_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_content2-untracked which local deleted + other changed content1_content2_content1_content2-untracked which local deleted 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 + other changed content1_content2_content1_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_missing-tracked which local deleted + other changed content1_content2_content1_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content1_missing-untracked which local deleted + other changed content1_content2_content1_missing-untracked which local deleted 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 + other changed content1_content2_content2_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_content2-untracked which local deleted + other changed content1_content2_content2_content2-untracked which local deleted 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 + other changed content1_content2_content2_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_missing-tracked which local deleted + other changed content1_content2_content2_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content2_missing-untracked which local deleted + other changed content1_content2_content2_missing-untracked which local deleted 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 + other changed content1_content2_content3_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_content2-untracked which local deleted + other changed content1_content2_content3_content2-untracked which local deleted 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 + other changed content1_content2_content3_content3-untracked which local deleted 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 + other changed content1_content2_content3_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_missing-tracked which local deleted + other changed content1_content2_content3_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_content3_missing-untracked which local deleted + other changed content1_content2_content3_missing-untracked which local deleted 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 + other changed content1_content2_missing_content1-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_content2-untracked which local deleted + other changed content1_content2_missing_content2-untracked which local deleted 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 + other changed content1_content2_missing_content4-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_missing-tracked which local deleted + other changed content1_content2_missing_missing-tracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - remote changed content1_content2_missing_missing-untracked which local deleted + other changed content1_content2_missing_missing-untracked which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u - local changed content1_missing_content1_content4-tracked which remote deleted + local changed content1_missing_content1_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_content3_content3-tracked which remote deleted + local changed content1_missing_content3_content3-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_content3_content4-tracked which remote deleted + local changed content1_missing_content3_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u - local changed content1_missing_missing_content4-tracked which remote deleted + local changed content1_missing_missing_content4-tracked which other deleted use (c)hanged version, (d)elete, or leave (u)nresolved? u merging missing_content2_content2_content4-tracked merging missing_content2_content3_content3-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 @@ -102,7 +102,7 @@ Those who use force will lose $ hg merge -f - remote changed bar which local deleted + other changed bar which local deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u merging foo1 and foo to foo1 0 files updated, 1 files merged, 0 files removed, 1 files unresolved diff --git a/tests/test-merge-types.t b/tests/test-merge-types.t --- a/tests/test-merge-types.t +++ b/tests/test-merge-types.t @@ -173,7 +173,7 @@ (couldn't find merge tool hgmerge|tool hgmerge can't handle symlinks) (re) picked tool ':prompt' for a (binary False symlink True changedelete False) no tool found to merge a - keep (l)ocal, take (o)ther, or leave (u)nresolved? u + keep (l)ocal [working copy], take (o)ther [destination], or leave (u)nresolved? u 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges 1 other heads for branch "default" diff --git a/tests/test-rebase-newancestor.t b/tests/test-rebase-newancestor.t --- a/tests/test-rebase-newancestor.t +++ b/tests/test-rebase-newancestor.t @@ -135,7 +135,7 @@ note: rebase of 1:1d1a643d390e created no changes to commit rebasing 2:ec2c14fb2984 "dev: f-dev stuff" rebasing 4:4b019212aaf6 "dev: merge default" - remote changed f-default which local deleted + other [source] changed f-default which local [dest] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c rebasing 6:9455ee510502 "dev: merge default" saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-43e9e04b-backup.hg (glob) @@ -164,7 +164,7 @@ > EOF rebasing 2:ec2c14fb2984 "dev: f-dev stuff" rebasing 4:4b019212aaf6 "dev: merge default" - remote changed f-default which local deleted + other [source] changed f-default which local [dest] deleted use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c rebasing 6:9455ee510502 "dev: merge default" saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-62d0b222-backup.hg (glob) 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 @@ -694,7 +694,7 @@ starting 4 threads for background file closing (?) a: prompt deleted/changed -> m (premerge) picked tool ':prompt' for a (binary False symlink False changedelete True) - remote changed a which local deleted + other changed a which local deleted 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) @@ -739,7 +739,7 @@ starting 4 threads for background file closing (?) a: prompt changed/deleted -> m (premerge) picked tool ':prompt' for a (binary False symlink False changedelete True) - local changed a which remote deleted + local changed a which other deleted 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) diff --git a/tests/test-subrepo-missing.t b/tests/test-subrepo-missing.t --- a/tests/test-subrepo-missing.t +++ b/tests/test-subrepo-missing.t @@ -62,7 +62,7 @@ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm .hgsubstate $ hg up 0 - remote changed .hgsubstate which local deleted + other [destination] changed .hgsubstate which local [working copy] deleted use (c)hanged version or leave (d)eleted? c 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg st