tests/test-commandserver.py.out
author Olav Reinert <seroton10@gmail.com>
Sat, 02 Jun 2012 11:25:40 +0200
changeset 16853 7863ff383894
parent 16202 53e2cd303ecf
child 17981 e689b0d91546
permissions -rw-r--r--
help: format command and option list help using RST This patch changes the function which generates help text about commands and options to use RST formatting. Tables describing options have been formatted using RST table markup for some time already, so their appearance does not change. Command lists, however, change appearance. To format non-verbose command lists, RST field list markup was chosen, because it resembles the old format: <http://docutils.sourceforge.net/docs/user/rst/quickref.html#field-lists> In the old (hand-coded) format of non-verbose command lists, the left column is 12 characters wide. Our minirst implementation formats field lists with a left column 14 characters wide, so this patch changes the appearance of help output correspondingly: <http://markmail.org/message/krl4cxopsnii7s6z?q=mercurial+reinert+from:%22Olav+Reinert%22&page=2> The minirst markup most closely resembling the old verbose command lists is definition lists. But using it would cause a blank line to be inserted between each command definition, making the output excessively long, and no more useful than before. To avoid this, I chose to use field lists also for verbose command help, resulting in output like this example: add add the specified files on the next commit annotate, blame show changeset information by line for each file clone make a copy of an existing repository commit, ci commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit init create a new repository in the given directory log, history show revision history of entire repository or files merge merge working directory with another revision phase set or show the current phase name pull pull changes from the specified source push push changes to the specified destination qdiff diff of the current patch and subsequent modifications qinit init a new queue repository (DEPRECATED) qnew create a new patch qpop pop the current patch off the stack qpush push the next patch onto the stack qrefresh update the current patch remove, rm remove the specified files on the next commit serve start stand-alone webserver status, st show changed files in the working directory summary, sum summarize working directory state update, up, checkout, co update working directory (or switch revisions) This change is a move towards generating all help text as a list of strings marked up with RST.


testing hellomessage:

o, 'capabilities: getencoding runcommand\nencoding: ***'
 runcommand id
000000000000 tip

testing unknowncommand:

abort: unknown command unknowncommand

testing checkruncommand:

 runcommand 
Mercurial Distributed SCM

basic commands:

 add           add the specified files on the next commit
 annotate      show changeset information by line for each file
 clone         make a copy of an existing repository
 commit        commit the specified files or all outstanding changes
 diff          diff repository (or selected files)
 export        dump the header and diffs for one or more changesets
 forget        forget the specified files on the next commit
 init          create a new repository in the given directory
 log           show revision history of entire repository or files
 merge         merge working directory with another revision
 phase         set or show the current phase name
 pull          pull changes from the specified source
 push          push changes to the specified destination
 remove        remove the specified files on the next commit
 serve         start stand-alone webserver
 status        show changed files in the working directory
 summary       summarize working directory state
 update        update working directory (or switch revisions)

use "hg help" for the full list of commands or "hg -v" for details
 runcommand id --quiet
000000000000
 runcommand id
000000000000 tip
 runcommand id --config ui.quiet=True
000000000000
 runcommand id
000000000000 tip

testing inputeof:

server exit code = 1

testing serverinput:

 runcommand import -
applying patch from stdin
 runcommand log
changeset:   0:eff892de26ec
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     1


testing cwd:

 runcommand --cwd foo st bar
? bar
 runcommand st foo/bar
? foo/bar

testing localhgrc:

 runcommand showconfig
bundle.mainreporoot=$TESTTMP
defaults.backout=-d "0 0"
defaults.commit=-d "0 0"
defaults.tag=-d "0 0"
ui.slash=True
ui.foo=bar
 runcommand init foo
 runcommand -R foo showconfig ui defaults
defaults.backout=-d "0 0"
defaults.commit=-d "0 0"
defaults.tag=-d "0 0"
ui.slash=True

testing hookoutput:

 runcommand --config hooks.pre-identify=python:test-commandserver.hook id
hook talking
now try to read something: 'some input'
eff892de26ec tip

testing outsidechanges:

 runcommand status
M a
 runcommand tip
changeset:   1:d3a0a68be6de
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     2

 runcommand status

testing bookmarks:

 runcommand bookmarks
no bookmarks set
 runcommand bookmarks
   bm1                       1:d3a0a68be6de
   bm2                       1:d3a0a68be6de
 runcommand bookmarks
 * bm1                       1:d3a0a68be6de
   bm2                       1:d3a0a68be6de
 runcommand bookmarks bm3
 runcommand commit -Amm
 runcommand bookmarks
   bm1                       1:d3a0a68be6de
   bm2                       1:d3a0a68be6de
 * bm3                       2:aef17e88f5f0

testing tagscache:

 runcommand id -t -r 0

 runcommand id -t -r 0
foo

testing setphase:

 runcommand phase -r .
3: draft
 runcommand phase -r .
3: public

testing rollback:

 runcommand phase -r . -p
no phases changed
 runcommand commit -Am.
 runcommand rollback
repository tip rolled back to revision 3 (undo commit)
working directory now based on revision 3
 runcommand phase -r .
3: public

testing branch:

 runcommand branch
default
marked working directory as branch foo
(branches are permanent and global, did you want a bookmark?)
 runcommand branch
foo
marked working directory as branch default
(branches are permanent and global, did you want a bookmark?)

testing hgignore:

 runcommand commit -Am.
adding .hgignore
 runcommand status -i -u
I ignored-file