[PATCH 2 of 2] merge: use labels in prompts to the user

timeless timeless at gmail.com
Sun Mar 20 00:53:04 EDT 2016


As long as it's possible for things to be written to the disk
consistently using "untranslated" messages, and shown w/ eventual
translations, and we have to maintain a table of all these constants
forever -- so that future translators will always translate them even
if we eventually replace the strings (because the disk versions will
persists forever).

On Sat, Mar 19, 2016 at 11:52 PM, Simon Farnsworth <simonfar at fb.com> wrote:
> 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 <timeless at gmail.com>
> Date: 19/03/2016 18:57 (GMT-08:00)
> To: Simon Farnsworth <simonfar at fb.com>
> Cc: mercurial-devel <mercurial-devel at mercurial-scm.org>
> 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" <simonfar at fb.com> wrote:
>>
>> # HG changeset patch
>> # User Simon Farnsworth <simonfar at fb.com>
>> # 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 <<EOF
>>    > 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
>> _______________________________________________
>> Mercurial-devel mailing list
>> Mercurial-devel at mercurial-scm.org
>> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel



More information about the Mercurial-devel mailing list