[PATCH 5 of 5] transplant: use "ui.extractchoices()" to show the list of available responses

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Mon Nov 18 04:43:59 CST 2013


# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1384770812 -32400
#      Mon Nov 18 19:33:32 2013 +0900
# Node ID 35d162310f2dac65c672614150d58c8690062b4f
# Parent  2fc25b01200edcc50484db5c52282832737cdc3f
transplant: use "ui.extractchoices()" to show the list of available responses

Before this patch, transplant extension shows the list of available
responses by specific string, even though the prompt string passed to
"ui.promptchoice()" has enough (maybe i18n-ed) information.

This patch uses "ui.extractchoices()" to show the list of available
responses.

diff --git a/hgext/transplant.py b/hgext/transplant.py
--- a/hgext/transplant.py
+++ b/hgext/transplant.py
@@ -451,15 +451,6 @@
 
 def browserevs(ui, repo, nodes, opts):
     '''interactively transplant changesets'''
-    def browsehelp(ui):
-        ui.write(_('y: transplant this changeset\n'
-                   'n: skip this changeset\n'
-                   'm: merge at this changeset\n'
-                   'p: show patch\n'
-                   'c: commit selected changesets\n'
-                   'q: cancel transplant\n'
-                   '?: show this help\n'))
-
     displayer = cmdutil.show_changeset(ui, repo, opts)
     transplants = []
     merges = []
@@ -477,7 +468,8 @@
         while not action:
             action = 'ynmpcq?'[ui.promptchoice(prompt)]
             if action == '?':
-                browsehelp(ui)
+                for c, t in ui.extractchoices(prompt)[1]:
+                    ui.write('%s: %s\n' % (c, t))
                 action = None
             elif action == 'p':
                 parent = repo.changelog.parents(node)[0]
diff --git a/tests/test-transplant.t b/tests/test-transplant.t
--- a/tests/test-transplant.t
+++ b/tests/test-transplant.t
@@ -493,13 +493,13 @@
   > EOF
   1:d11e3596cc1a
   apply changeset? [ynmpcq?]: unrecognized response
-  apply changeset? [ynmpcq?]: y: transplant this changeset
-  n: skip this changeset
+  apply changeset? [ynmpcq?]: y: yes, transplant this changeset
+  n: no, skip this changeset
   m: merge at this changeset
   p: show patch
   c: commit selected changesets
-  q: cancel transplant
-  ?: show this help
+  q: quit and cancel transplant
+  ?: ? (show this help)
   apply changeset? [ynmpcq?]: 4:a53251cdf717
   apply changeset? [ynmpcq?]:  (no-eol)
   $ hg heads --template "{node|short}\n"


More information about the Mercurial-devel mailing list