help: use RST to format option lists
authorMatt Mackall <mpm@selenic.com>
Wed, 21 Sep 2011 13:00:48 -0500
changeset 15145 ff26712a0c50
parent 15144 87bb975a1844
child 15146 b39d85be78a8
help: use RST to format option lists
mercurial/commands.py
mercurial/minirst.py
tests/test-convert.t
tests/test-dispatch.t
tests/test-encoding-align.t
tests/test-extdiff.t
tests/test-extension.t
tests/test-help.t
tests/test-mq-qrefresh-interactive.t
tests/test-qrecord.t
--- a/mercurial/commands.py	Wed Sep 21 13:00:47 2011 -0500
+++ b/mercurial/commands.py	Wed Sep 21 13:00:48 2011 -0500
@@ -2709,61 +2709,52 @@
 
     textwidth = min(ui.termwidth(), 80) - 2
 
+    def optrst(options):
+        data = []
+        multioccur = False
+        for option in options:
+            if len(option) == 5:
+                shortopt, longopt, default, desc, optlabel = option
+            else:
+                shortopt, longopt, default, desc = option
+                optlabel = _("VALUE") # default label
+
+            if _("DEPRECATED") in desc and not ui.verbose:
+                continue
+
+            so = ''
+            if shortopt:
+                so = '-' + shortopt
+            lo = '--' + longopt
+            if default:
+                desc += _(" (default: %s)") % default
+
+            if isinstance(default, list):
+                lo += " %s [+]" % optlabel
+                multioccur = True
+            elif (default is not None) and not isinstance(default, bool):
+                lo += " %s" % optlabel
+
+            data.append((so, lo, desc))
+
+        rst = minirst.maketable(data, 1)
+        if multioccur:
+            rst += _("\n[+] marked option can be specified multiple times")
+
+        return rst
+
     # list all option lists
     def opttext(optlist, width):
-        out = []
-        multioccur = False
+        rst = ''
+        if not optlist:
+            return ''
+
         for title, options in optlist:
-            out.append(("\n%s" % title, None))
-            for option in options:
-                if len(option) == 5:
-                    shortopt, longopt, default, desc, optlabel = option
-                else:
-                    shortopt, longopt, default, desc = option
-                    optlabel = _("VALUE") # default label
-
-                if _("DEPRECATED") in desc and not ui.verbose:
-                    continue
-                if isinstance(default, list):
-                    numqualifier = " %s [+]" % optlabel
-                    multioccur = True
-                elif (default is not None) and not isinstance(default, bool):
-                    numqualifier = " %s" % optlabel
-                else:
-                    numqualifier = ""
-                out.append(("%2s%s" %
-                            (shortopt and "-%s" % shortopt,
-                             longopt and " --%s%s" %
-                             (longopt, numqualifier)),
-                            "%s%s" % (desc,
-                                      default
-                                      and _(" (default: %s)") % default
-                                      or "")))
-        if multioccur:
-            msg = _("\n[+] marked option can be specified multiple times")
-            if ui.verbose and name != 'shortlist':
-                out.append((msg, None))
-            else:
-                out.insert(-1, (msg, None))
-
-        text = ""
-        if out:
-            colwidth = encoding.colwidth
-            # normalize: (opt or message, desc or None, width of opt)
-            entries = [desc and (opt, desc, colwidth(opt)) or (opt, None, 0)
-                       for opt, desc in out]
-            hanging = max([e[2] for e in entries])
-            for opt, desc, width in entries:
-                if desc:
-                    initindent = ' %s%s  ' % (opt, ' ' * (hanging - width))
-                    hangindent = ' ' * (hanging + 3)
-                    text += '%s\n' % (util.wrap(desc, width,
-                                                initindent=initindent,
-                                                hangindent=hangindent))
-                else:
-                    text +=  "%s\n" % opt
-
-        return text
+            rst += '\n%s\n\n' % title
+            rst += optrst(options)
+            rst += '\n'
+
+        return '\n' + minirst.format(rst, width)
 
     def addglobalopts(optlist, aliases):
         if ui.quiet:
--- a/mercurial/minirst.py	Wed Sep 21 13:00:47 2011 -0500
+++ b/mercurial/minirst.py	Wed Sep 21 13:00:48 2011 -0500
@@ -443,7 +443,6 @@
         span = sum(widths) + len(widths) - 1
         indent = ' ' * block['indent']
         hang = ' ' * (len(indent) + span - widths[-1])
-        f = ' '.join('%%-%ds' % n for n in widths)
 
         for row in table:
             l = []
--- a/tests/test-convert.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-convert.t	Wed Sep 21 13:00:48 2011 -0500
@@ -249,16 +249,16 @@
   
   options:
   
-   -s --source-type TYPE  source repository type
-   -d --dest-type TYPE    destination repository type
-   -r --rev REV           import up to target revision REV
-   -A --authormap FILE    remap usernames using this file
-      --filemap FILE      remap file names using contents of file
-      --splicemap FILE    splice synthesized history into place
-      --branchmap FILE    change branch names while converting
-      --branchsort        try to sort changesets by branches
-      --datesort          try to sort changesets by date
-      --sourcesort        preserve source changesets order
+   -s --source-type TYPE source repository type
+   -d --dest-type TYPE   destination repository type
+   -r --rev REV          import up to target revision REV
+   -A --authormap FILE   remap usernames using this file
+      --filemap FILE     remap file names using contents of file
+      --splicemap FILE   splice synthesized history into place
+      --branchmap FILE   change branch names while converting
+      --branchsort       try to sort changesets by branches
+      --datesort         try to sort changesets by date
+      --sourcesort       preserve source changesets order
   
   use "hg -v help convert" to show global options
   $ hg init a
--- a/tests/test-dispatch.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-dispatch.t	Wed Sep 21 13:00:48 2011 -0500
@@ -25,11 +25,11 @@
   
   options:
   
-   -o --output FORMAT        print output to file with formatted name
-   -r --rev REV              print the given revision
-      --decode               apply any matching decode filter
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
+   -o --output FORMAT       print output to file with formatted name
+   -r --rev REV             print the given revision
+      --decode              apply any matching decode filter
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
   
   [+] marked option can be specified multiple times
   
--- a/tests/test-encoding-align.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-encoding-align.t	Wed Sep 21 13:00:48 2011 -0500
@@ -52,12 +52,12 @@
   
   options:
   
-   -s --opt1 \xe7\x9f\xad\xe5\x90\x8d          short width \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d (esc)
-   -m --opt2 MIDDLE_       middle width MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_
-                           MIDDLE_ MIDDLE_ MIDDLE_
-   -l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d  long width \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
-                           \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
-                           \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
+   -s --opt1 \xe7\x9f\xad\xe5\x90\x8d         short width \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d (esc)
+   -m --opt2 MIDDLE_      middle width MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_
+                          MIDDLE_ MIDDLE_ MIDDLE_
+   -l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d long width \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
+                          \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
+                          \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
   
   use "hg -v help showoptlist" to show global options
 
--- a/tests/test-extdiff.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-extdiff.t	Wed Sep 21 13:00:48 2011 -0500
@@ -39,11 +39,11 @@
   
   options:
   
-   -o --option OPT [+]       pass option to comparison program
-   -r --rev REV [+]          revision
-   -c --change REV           change made by revision
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
+   -o --option OPT [+]      pass option to comparison program
+   -r --rev REV [+]         revision
+   -c --change REV          change made by revision
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
   
   [+] marked option can be specified multiple times
   
--- a/tests/test-extension.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-extension.t	Wed Sep 21 13:00:48 2011 -0500
@@ -182,23 +182,24 @@
         yet another foo command
   
   global options:
-   -R --repository REPO    repository root directory or name of overlay bundle
-                           file
-      --cwd DIR            change working directory
-   -y --noninteractive     do not prompt, automatically pick the first choice
-                           for all prompts
-   -q --quiet              suppress output
-   -v --verbose            enable additional output
-      --config CONFIG [+]  set/override config option (use 'section.name=value')
-      --debug              enable debugging output
-      --debugger           start debugger
-      --encoding ENCODE    set the charset encoding (default: ascii)
-      --encodingmode MODE  set the charset encoding mode (default: strict)
-      --traceback          always print a traceback on exception
-      --time               time how long the command takes
-      --profile            print command execution profile
-      --version            output version information and exit
-   -h --help               display help and exit
+  
+   -R --repository REPO   repository root directory or name of overlay bundle
+                          file
+      --cwd DIR           change working directory
+   -y --noninteractive    do not prompt, automatically pick the first choice for
+                          all prompts
+   -q --quiet             suppress output
+   -v --verbose           enable additional output
+      --config CONFIG [+] set/override config option (use 'section.name=value')
+      --debug             enable debugging output
+      --debugger          start debugger
+      --encoding ENCODE   set the charset encoding (default: ascii)
+      --encodingmode MODE set the charset encoding mode (default: strict)
+      --traceback         always print a traceback on exception
+      --time              time how long the command takes
+      --profile           print command execution profile
+      --version           output version information and exit
+   -h --help              display help and exit
   
   [+] marked option can be specified multiple times
 
@@ -213,23 +214,24 @@
         yet another foo command
   
   global options:
-   -R --repository REPO    repository root directory or name of overlay bundle
-                           file
-      --cwd DIR            change working directory
-   -y --noninteractive     do not prompt, automatically pick the first choice
-                           for all prompts
-   -q --quiet              suppress output
-   -v --verbose            enable additional output
-      --config CONFIG [+]  set/override config option (use 'section.name=value')
-      --debug              enable debugging output
-      --debugger           start debugger
-      --encoding ENCODE    set the charset encoding (default: ascii)
-      --encodingmode MODE  set the charset encoding mode (default: strict)
-      --traceback          always print a traceback on exception
-      --time               time how long the command takes
-      --profile            print command execution profile
-      --version            output version information and exit
-   -h --help               display help and exit
+  
+   -R --repository REPO   repository root directory or name of overlay bundle
+                          file
+      --cwd DIR           change working directory
+   -y --noninteractive    do not prompt, automatically pick the first choice for
+                          all prompts
+   -q --quiet             suppress output
+   -v --verbose           enable additional output
+      --config CONFIG [+] set/override config option (use 'section.name=value')
+      --debug             enable debugging output
+      --debugger          start debugger
+      --encoding ENCODE   set the charset encoding (default: ascii)
+      --encodingmode MODE set the charset encoding mode (default: strict)
+      --traceback         always print a traceback on exception
+      --time              time how long the command takes
+      --profile           print command execution profile
+      --version           output version information and exit
+   -h --help              display help and exit
   
   [+] marked option can be specified multiple times
   $ echo 'debugextension = !' >> $HGRCPATH
@@ -260,12 +262,12 @@
   
   options:
   
-   -p --program CMD          comparison program to run
-   -o --option OPT [+]       pass option to comparison program
-   -r --rev REV [+]          revision
-   -c --change REV           change made by revision
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
+   -p --program CMD         comparison program to run
+   -o --option OPT [+]      pass option to comparison program
+   -r --rev REV [+]         revision
+   -c --change REV          change made by revision
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
   
   [+] marked option can be specified multiple times
   
--- a/tests/test-help.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-help.t	Wed Sep 21 13:00:48 2011 -0500
@@ -239,23 +239,24 @@
         update working directory (or switch revisions)
   
   global options:
-   -R --repository REPO    repository root directory or name of overlay bundle
-                           file
-      --cwd DIR            change working directory
-   -y --noninteractive     do not prompt, automatically pick the first choice
-                           for all prompts
-   -q --quiet              suppress output
-   -v --verbose            enable additional output
-      --config CONFIG [+]  set/override config option (use 'section.name=value')
-      --debug              enable debugging output
-      --debugger           start debugger
-      --encoding ENCODE    set the charset encoding (default: ascii)
-      --encodingmode MODE  set the charset encoding mode (default: strict)
-      --traceback          always print a traceback on exception
-      --time               time how long the command takes
-      --profile            print command execution profile
-      --version            output version information and exit
-   -h --help               display help and exit
+  
+   -R --repository REPO   repository root directory or name of overlay bundle
+                          file
+      --cwd DIR           change working directory
+   -y --noninteractive    do not prompt, automatically pick the first choice for
+                          all prompts
+   -q --quiet             suppress output
+   -v --verbose           enable additional output
+      --config CONFIG [+] set/override config option (use 'section.name=value')
+      --debug             enable debugging output
+      --debugger          start debugger
+      --encoding ENCODE   set the charset encoding (default: ascii)
+      --encodingmode MODE set the charset encoding mode (default: strict)
+      --traceback         always print a traceback on exception
+      --time              time how long the command takes
+      --profile           print command execution profile
+      --version           output version information and exit
+   -h --help              display help and exit
   
   [+] marked option can be specified multiple times
   
@@ -279,10 +280,10 @@
   
   options:
   
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -S --subrepos             recurse into subrepositories
-   -n --dry-run              do not perform actions, just print output
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -S --subrepos            recurse into subrepositories
+   -n --dry-run             do not perform actions, just print output
   
   [+] marked option can be specified multiple times
   
@@ -318,30 +319,32 @@
   
   options:
   
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -S --subrepos             recurse into subrepositories
-   -n --dry-run              do not perform actions, just print output
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -S --subrepos            recurse into subrepositories
+   -n --dry-run             do not perform actions, just print output
+  
+  [+] marked option can be specified multiple times
   
   global options:
-   -R --repository REPO      repository root directory or name of overlay bundle
-                             file
-      --cwd DIR              change working directory
-   -y --noninteractive       do not prompt, automatically pick the first choice
-                             for all prompts
-   -q --quiet                suppress output
-   -v --verbose              enable additional output
-      --config CONFIG [+]    set/override config option (use
-                             'section.name=value')
-      --debug                enable debugging output
-      --debugger             start debugger
-      --encoding ENCODE      set the charset encoding (default: ascii)
-      --encodingmode MODE    set the charset encoding mode (default: strict)
-      --traceback            always print a traceback on exception
-      --time                 time how long the command takes
-      --profile              print command execution profile
-      --version              output version information and exit
-   -h --help                 display help and exit
+  
+   -R --repository REPO   repository root directory or name of overlay bundle
+                          file
+      --cwd DIR           change working directory
+   -y --noninteractive    do not prompt, automatically pick the first choice for
+                          all prompts
+   -q --quiet             suppress output
+   -v --verbose           enable additional output
+      --config CONFIG [+] set/override config option (use 'section.name=value')
+      --debug             enable debugging output
+      --debugger          start debugger
+      --encoding ENCODE   set the charset encoding (default: ascii)
+      --encodingmode MODE set the charset encoding mode (default: strict)
+      --traceback         always print a traceback on exception
+      --time              time how long the command takes
+      --profile           print command execution profile
+      --version           output version information and exit
+   -h --help              display help and exit
   
   [+] marked option can be specified multiple times
 
@@ -363,10 +366,10 @@
   
   options:
   
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -S --subrepos             recurse into subrepositories
-   -n --dry-run              do not perform actions, just print output
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -S --subrepos            recurse into subrepositories
+   -n --dry-run             do not perform actions, just print output
   
   [+] marked option can be specified multiple times
   
@@ -436,21 +439,21 @@
   
   options:
   
-   -r --rev REV [+]          revision
-   -c --change REV           change made by revision
-   -a --text                 treat all files as text
-   -g --git                  use git extended diff format
-      --nodates              omit dates from diff headers
-   -p --show-function        show which function each change is in
-      --reverse              produce a diff that undoes the changes
-   -w --ignore-all-space     ignore white space when comparing lines
-   -b --ignore-space-change  ignore changes in the amount of white space
-   -B --ignore-blank-lines   ignore changes whose lines are all blank
-   -U --unified NUM          number of lines of context to show
-      --stat                 output diffstat-style summary of changes
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -S --subrepos             recurse into subrepositories
+   -r --rev REV [+]         revision
+   -c --change REV          change made by revision
+   -a --text                treat all files as text
+   -g --git                 use git extended diff format
+      --nodates             omit dates from diff headers
+   -p --show-function       show which function each change is in
+      --reverse             produce a diff that undoes the changes
+   -w --ignore-all-space    ignore white space when comparing lines
+   -b --ignore-space-change ignore changes in the amount of white space
+   -B --ignore-blank-lines  ignore changes whose lines are all blank
+   -U --unified NUM         number of lines of context to show
+      --stat                output diffstat-style summary of changes
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -S --subrepos            recurse into subrepositories
   
   [+] marked option can be specified multiple times
   
@@ -500,22 +503,22 @@
   
   options:
   
-   -A --all                  show status of all files
-   -m --modified             show only modified files
-   -a --added                show only added files
-   -r --removed              show only removed files
-   -d --deleted              show only deleted (but tracked) files
-   -c --clean                show only files without changes
-   -u --unknown              show only unknown (not tracked) files
-   -i --ignored              show only ignored files
-   -n --no-status            hide status prefix
-   -C --copies               show source of copied files
-   -0 --print0               end filenames with NUL, for use with xargs
-      --rev REV [+]          show difference from revision
-      --change REV           list the changed files of a revision
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -S --subrepos             recurse into subrepositories
+   -A --all                 show status of all files
+   -m --modified            show only modified files
+   -a --added               show only added files
+   -r --removed             show only removed files
+   -d --deleted             show only deleted (but tracked) files
+   -c --clean               show only files without changes
+   -u --unknown             show only unknown (not tracked) files
+   -i --ignored             show only ignored files
+   -n --no-status           hide status prefix
+   -C --copies              show source of copied files
+   -0 --print0              end filenames with NUL, for use with xargs
+      --rev REV [+]         show difference from revision
+      --change REV          list the changed files of a revision
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -S --subrepos            recurse into subrepositories
   
   [+] marked option can be specified multiple times
   
--- a/tests/test-mq-qrefresh-interactive.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-mq-qrefresh-interactive.t	Wed Sep 21 13:00:48 2011 -0500
@@ -31,18 +31,18 @@
   
   options:
   
-   -e --edit                 edit commit message
-   -g --git                  use git extended diff format
-   -s --short                refresh only files already in the patch and
-                             specified files
-   -U --currentuser          add/update author field in patch with current user
-   -u --user USER            add/update author field in patch with given user
-   -D --currentdate          add/update date field in patch with current date
-   -d --date DATE            add/update date field in patch with given date
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -m --message TEXT         use text as commit message
-   -l --logfile FILE         read commit message from file
+   -e --edit                edit commit message
+   -g --git                 use git extended diff format
+   -s --short               refresh only files already in the patch and
+                            specified files
+   -U --currentuser         add/update author field in patch with current user
+   -u --user USER           add/update author field in patch with given user
+   -D --currentdate         add/update date field in patch with current date
+   -d --date DATE           add/update date field in patch with given date
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -m --message TEXT        use text as commit message
+   -l --logfile FILE        read commit message from file
   
   [+] marked option can be specified multiple times
   
@@ -75,19 +75,19 @@
   
   options:
   
-   -e --edit                 edit commit message
-   -g --git                  use git extended diff format
-   -s --short                refresh only files already in the patch and
-                             specified files
-   -U --currentuser          add/update author field in patch with current user
-   -u --user USER            add/update author field in patch with given user
-   -D --currentdate          add/update date field in patch with current date
-   -d --date DATE            add/update date field in patch with given date
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -m --message TEXT         use text as commit message
-   -l --logfile FILE         read commit message from file
-   -i --interactive          interactively select changes to refresh
+   -e --edit                edit commit message
+   -g --git                 use git extended diff format
+   -s --short               refresh only files already in the patch and
+                            specified files
+   -U --currentuser         add/update author field in patch with current user
+   -u --user USER           add/update author field in patch with given user
+   -D --currentdate         add/update date field in patch with current date
+   -d --date DATE           add/update date field in patch with given date
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -m --message TEXT        use text as commit message
+   -l --logfile FILE        read commit message from file
+   -i --interactive         interactively select changes to refresh
   
   [+] marked option can be specified multiple times
   
--- a/tests/test-qrecord.t	Wed Sep 21 13:00:47 2011 -0500
+++ b/tests/test-qrecord.t	Wed Sep 21 13:00:48 2011 -0500
@@ -54,19 +54,19 @@
   
   options:
   
-   -A --addremove            mark new/missing files as added/removed before
-                             committing
-      --close-branch         mark a branch as closed, hiding it from the branch
-                             list
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -m --message TEXT         use text as commit message
-   -l --logfile FILE         read commit message from file
-   -d --date DATE            record the specified date as commit date
-   -u --user USER            record the specified user as committer
-   -w --ignore-all-space     ignore white space when comparing lines
-   -b --ignore-space-change  ignore changes in the amount of white space
-   -B --ignore-blank-lines   ignore changes whose lines are all blank
+   -A --addremove           mark new/missing files as added/removed before
+                            committing
+      --close-branch        mark a branch as closed, hiding it from the branch
+                            list
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -m --message TEXT        use text as commit message
+   -l --logfile FILE        read commit message from file
+   -d --date DATE           record the specified date as commit date
+   -u --user USER           record the specified user as committer
+   -w --ignore-all-space    ignore white space when comparing lines
+   -b --ignore-space-change ignore changes in the amount of white space
+   -B --ignore-blank-lines  ignore changes whose lines are all blank
   
   [+] marked option can be specified multiple times
   
@@ -129,20 +129,20 @@
   
   options:
   
-   -e --edit                 edit commit message
-   -g --git                  use git extended diff format
-   -U --currentuser          add "From: <current user>" to patch
-   -u --user USER            add "From: <USER>" to patch
-   -D --currentdate          add "Date: <current date>" to patch
-   -d --date DATE            add "Date: <DATE>" to patch
-   -I --include PATTERN [+]  include names matching the given patterns
-   -X --exclude PATTERN [+]  exclude names matching the given patterns
-   -m --message TEXT         use text as commit message
-   -l --logfile FILE         read commit message from file
-   -w --ignore-all-space     ignore white space when comparing lines
-   -b --ignore-space-change  ignore changes in the amount of white space
-   -B --ignore-blank-lines   ignore changes whose lines are all blank
-      --mq                   operate on patch repository
+   -e --edit                edit commit message
+   -g --git                 use git extended diff format
+   -U --currentuser         add "From: <current user>" to patch
+   -u --user USER           add "From: <USER>" to patch
+   -D --currentdate         add "Date: <current date>" to patch
+   -d --date DATE           add "Date: <DATE>" to patch
+   -I --include PATTERN [+] include names matching the given patterns
+   -X --exclude PATTERN [+] exclude names matching the given patterns
+   -m --message TEXT        use text as commit message
+   -l --logfile FILE        read commit message from file
+   -w --ignore-all-space    ignore white space when comparing lines
+   -b --ignore-space-change ignore changes in the amount of white space
+   -B --ignore-blank-lines  ignore changes whose lines are all blank
+      --mq                  operate on patch repository
   
   [+] marked option can be specified multiple times