refactor options from cmdtable
- add extracommitopts for user and date
- factor stuff
--- a/hgext/extdiff.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/extdiff.py Wed Aug 08 12:27:20 2007 +0200
@@ -50,7 +50,7 @@
from mercurial.i18n import _
from mercurial.node import *
-from mercurial import cmdutil, util
+from mercurial import cmdutil, util, commands
import os, shutil, tempfile
@@ -181,8 +181,7 @@
[('p', 'program', '', _('comparison program to run')),
('o', 'option', [], _('pass option to comparison program')),
('r', 'rev', [], _('revision')),
- ('I', 'include', [], _('include names matching the given patterns')),
- ('X', 'exclude', [], _('exclude names matching the given patterns'))],
+ ] + commands.walkopts,
_('hg extdiff [OPT]... [FILE]...')),
}
--- a/hgext/fetch.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/fetch.py Wed Aug 08 12:27:20 2007 +0200
@@ -86,13 +86,8 @@
cmdtable = {
'fetch':
(fetch,
- [('e', 'ssh', '', _('specify ssh command to use')),
- ('m', 'message', '', _('use <text> as commit message')),
- ('l', 'logfile', '', _('read the commit message from <file>')),
- ('d', 'date', '', _('record datecode as commit date')),
- ('u', 'user', '', _('record user as commiter')),
- ('r', 'rev', [], _('a specific revision you would like to pull')),
+ [('r', 'rev', [], _('a specific revision you would like to pull')),
('f', 'force-editor', None, _('edit commit message')),
- ('', 'remotecmd', '', _('hg command to run on the remote side'))],
+ ] + commands.commitopts + commands.commitopts2 + commands.remoteopts,
_('hg fetch [SOURCE]')),
}
--- a/hgext/gpg.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/gpg.py Wed Aug 08 12:27:20 2007 +0200
@@ -6,7 +6,7 @@
# of the GNU General Public License, incorporated herein by reference.
import os, tempfile, binascii
-from mercurial import util
+from mercurial import util, commands
from mercurial import node as hgnode
from mercurial.i18n import _
@@ -269,10 +269,9 @@
[('l', 'local', None, _('make the signature local')),
('f', 'force', None, _('sign even if the sigfile is modified')),
('', 'no-commit', None, _('do not commit the sigfile after signing')),
+ ('k', 'key', '', _('the key id to sign with')),
('m', 'message', '', _('commit message')),
- ('d', 'date', '', _('date code')),
- ('u', 'user', '', _('user')),
- ('k', 'key', '', _('the key id to sign with'))],
+ ] + commands.commitopts2,
_('hg sign [OPTION]... [REVISION]...')),
"sigcheck": (check, [], _('hg sigcheck REVISION')),
"sigs": (sigs, [], _('hg sigs')),
--- a/hgext/mq.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/mq.py Wed Aug 08 12:27:20 2007 +0200
@@ -2131,10 +2131,8 @@
('U', 'noupdate', None, _('do not update the new working directories')),
('', 'uncompressed', None,
_('use uncompressed transfer (fast over LAN)')),
- ('e', 'ssh', '', _('specify ssh command to use')),
('p', 'patches', '', _('location of source patch repo')),
- ('', 'remotecmd', '',
- _('specify hg command to run on the remote side'))],
+ ] + commands.remoteopts,
_('hg qclone [OPTION]... SOURCE [DEST]')),
"qcommit|qci":
(commit,
@@ -2143,8 +2141,7 @@
"^qdiff":
(diff,
[('g', 'git', None, _('use git extended diff format')),
- ('I', 'include', [], _('include names matching the given patterns')),
- ('X', 'exclude', [], _('exclude names matching the given patterns'))],
+ ] + commands.walkopts,
_('hg qdiff [-I] [-X] [-g] [FILE]...')),
"qdelete|qremove|qrm":
(delete,
@@ -2184,9 +2181,7 @@
[('e', 'edit', None, _('edit commit message')),
('f', 'force', None, _('import uncommitted changes into patch')),
('g', 'git', None, _('use git extended diff format')),
- ('I', 'include', [], _('include names matching the given patterns')),
- ('X', 'exclude', [], _('exclude names matching the given patterns')),
- ] + commands.commitopts,
+ ] + commands.walkopts + commands.commitopts,
_('hg qnew [-e] [-m TEXT] [-l FILE] [-f] PATCH [FILE]...')),
"qnext": (next, [] + seriesopts, _('hg qnext [-s]')),
"qprev": (prev, [] + seriesopts, _('hg qprev [-s]')),
@@ -2209,9 +2204,7 @@
[('e', 'edit', None, _('edit commit message')),
('g', 'git', None, _('use git extended diff format')),
('s', 'short', None, _('refresh only files already in the patch')),
- ('I', 'include', [], _('include names matching the given patterns')),
- ('X', 'exclude', [], _('exclude names matching the given patterns')),
- ] + commands.commitopts,
+ ] + commands.walkopts + commands.commitopts,
_('hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...')),
'qrename|qmv':
(rename, [], _('hg qrename PATCH1 [PATCH2]')),
--- a/hgext/purge.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/purge.py Wed Aug 08 12:27:20 2007 +0200
@@ -27,7 +27,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from mercurial import hg, util
+from mercurial import hg, util, commands
from mercurial.i18n import _
import os
@@ -162,7 +162,6 @@
('p', 'print', None, _('print the file names instead of deleting them')),
('0', 'print0', None, _('end filenames with NUL, for use with xargs'
' (implies -p)')),
- ('I', 'include', [], _('include names matching the given patterns')),
- ('X', 'exclude', [], _('exclude names matching the given patterns'))],
+ ] + commands.walkopts,
_('hg purge [OPTION]... [DIR]...'))
}
--- a/hgext/record.py Tue Aug 07 15:57:23 2007 +0200
+++ b/hgext/record.py Wed Aug 08 12:27:20 2007 +0200
@@ -375,8 +375,6 @@
(record,
[('A', 'addremove', None,
_('mark new/missing files as added/removed before committing')),
- ('d', 'date', '', _('record datecode as commit date')),
- ('u', 'user', '', _('record user as commiter')),
- ] + commands.walkopts + commands.commitopts,
+ ] + commands.walkopts + commands.commitopts + commands.commitopts2,
_('hg record [OPTION]... [FILE]...')),
}
--- a/mercurial/commands.py Tue Aug 07 15:57:23 2007 +0200
+++ b/mercurial/commands.py Wed Aug 08 12:27:20 2007 +0200
@@ -2751,6 +2751,11 @@
('l', 'logfile', '', _('read commit message from <file>')),
]
+commitopts2 = [
+ ('d', 'date', '', _('record datecode as commit date')),
+ ('u', 'user', '', _('record user as committer')),
+]
+
table = {
"^add": (add, walkopts + dryrunopts, _('hg add [OPTION]... [FILE]...')),
"addremove":
@@ -2784,11 +2789,9 @@
(backout,
[('', 'merge', None,
_('merge with old dirstate parent after backout')),
- ('d', 'date', '', _('record datecode as commit date')),
('', 'parent', '', _('parent to choose when backing out merge')),
- ('u', 'user', '', _('record user as committer')),
('r', 'rev', '', _('revision to backout')),
- ] + walkopts + commitopts,
+ ] + walkopts + commitopts + commitopts2,
_('hg backout [OPTION]... [-r] REV')),
"branch":
(branch,
@@ -2830,9 +2833,7 @@
(commit,
[('A', 'addremove', None,
_('mark new/missing files as added/removed before committing')),
- ('d', 'date', '', _('record datecode as commit date')),
- ('u', 'user', '', _('record user as commiter')),
- ] + walkopts + commitopts,
+ ] + walkopts + commitopts + commitopts2,
_('hg commit [OPTION]... [FILE]...')),
"copy|cp":
(copy,
@@ -3022,10 +3023,8 @@
"debugrawcommit|rawcommit":
(rawcommit,
[('p', 'parent', [], _('parent')),
- ('d', 'date', '', _('date code')),
- ('u', 'user', '', _('user')),
('F', 'files', '', _('file list'))
- ] + commitopts,
+ ] + commitopts + commitopts2,
_('hg debugrawcommit [OPTION]... [FILE]...')),
"recover": (recover, [], _('hg recover')),
"^remove|rm":
@@ -3095,11 +3094,11 @@
(tag,
[('f', 'force', None, _('replace existing tag')),
('l', 'local', None, _('make the tag local')),
- ('m', 'message', '', _('message for tag commit log entry')),
- ('d', 'date', '', _('record datecode as commit date')),
- ('u', 'user', '', _('record user as commiter')),
('r', 'rev', '', _('revision to tag')),
- ('', 'remove', None, _('remove a tag'))],
+ ('', 'remove', None, _('remove a tag')),
+ # -l/--local is already there, commitopts cannot be used
+ ('m', 'message', '', _('use <text> as commit message')),
+ ] + commitopts2,
_('hg tag [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME')),
"tags": (tags, [], _('hg tags')),
"tip":
--- a/tests/test-record.out Tue Aug 07 15:57:23 2007 +0200
+++ b/tests/test-record.out Wed Aug 08 12:27:20 2007 +0200
@@ -6,12 +6,12 @@
options:
-A --addremove mark new/missing files as added/removed before committing
- -d --date record datecode as commit date
- -u --user record user as commiter
-I --include include names matching the given patterns
-X --exclude exclude names matching the given patterns
-m --message use <text> as commit message
-l --logfile read commit message from <file>
+ -d --date record datecode as commit date
+ -u --user record user as committer
use "hg -v help record" to show global options
% select no files