changeset 16942:87882c8753d4

help: fix extension commands help in keyword search This patch fixes the synopsis shown for extension commands in keyword search results. A previous patch erroneously caused the extension synopsis to be shown instead. Test cases for keyword search are missing, so I added a one.
author Olav Reinert <seroton10@gmail.com>
date Thu, 07 Jun 2012 01:42:50 +0200
parents a1eb17bed550
children 8d08a28aa63e
files mercurial/help.py tests/test-help.t
diffstat 2 files changed, 29 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/help.py	Tue Jun 12 14:18:18 2012 +0200
+++ b/mercurial/help.py	Thu Jun 07 01:42:50 2012 +0200
@@ -107,8 +107,8 @@
         for cmd, entry in getattr(mod, 'cmdtable', {}).iteritems():
             if kw in cmd or (len(entry) > 2 and lowercontains(entry[2])):
                 cmdname = cmd.split('|')[0].lstrip('^')
-                if mod.__doc__:
-                    cmddoc = gettext(mod.__doc__).splitlines()[0]
+                if entry[0].__doc__:
+                    cmddoc = gettext(entry[0].__doc__).splitlines()[0]
                 else:
                     cmddoc = _('(no help text available)')
                 results['extensioncommands'].append((cmdname, cmddoc))
--- a/tests/test-help.t	Tue Jun 12 14:18:18 2012 +0200
+++ b/tests/test-help.t	Thu Jun 07 01:42:50 2012 +0200
@@ -775,3 +775,30 @@
   $ hg help revsets | grep helphook
       helphook1
       helphook2
+
+Test keyword search help
+
+  $ hg help -k clone
+  Topics:
+  
+   config     Configuration Files
+   extensions Using Additional Features
+   glossary   Glossary
+   phases     Working with Phases
+   subrepo    Subrepositories
+   urls       URL Paths
+  
+  Commands:
+  
+   update update working directory (or switch revisions)
+   paths  show aliases for remote repositories
+   clone  make a copy of an existing repository
+  
+  Extensions:
+  
+   relink recreates hardlinks between repository clones
+  
+  Extension Commands:
+  
+   qclone clone main and patch repository at same time
+