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

login
register
mail settings
Submitter Katsunori FUJIWARA
Date Nov. 18, 2013, 10:43 a.m.
Message ID <35d162310f2dac65c672.1384771439@juju>
Download mbox | patch
Permalink /patch/3057/
State Superseded
Headers show

Comments

Katsunori FUJIWARA - Nov. 18, 2013, 10:43 a.m.
# HG changeset patch
# User FUJIWARA Katsunori <foozy@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.

Patch

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"