scm: mercurial: add new "rhlog()" function in helper extension (#7246, #4455).

For latest changesets supporting named branch.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5101 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-03-13 00:47:47 +00:00
parent 7db930f1b4
commit 2e2055c051
1 changed files with 32 additions and 0 deletions

View File

@ -134,6 +134,18 @@ def rhdiff(ui, repo, *pats, **opts):
opts['nodates'] = True opts['nodates'] = True
return commands.diff(ui, repo, *map(urllib.unquote_plus, pats), **opts) return commands.diff(ui, repo, *map(urllib.unquote_plus, pats), **opts)
def rhlog(ui, repo, *pats, **opts):
rev = opts.pop('rev')
bra0 = opts.pop('branch')
from_rev = urllib.unquote_plus(opts.pop('from', None))
to_rev = urllib.unquote_plus(opts.pop('to' , None))
bra = urllib.unquote_plus(opts.pop('rhbranch', None))
from_rev = from_rev.replace('"', '\\"')
to_rev = to_rev.replace('"', '\\"')
opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
opts['branch'] = [bra]
return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
def rhmanifest(ui, repo, path='', **opts): def rhmanifest(ui, repo, path='', **opts):
"""output the sub-manifest of the specified directory""" """output the sub-manifest of the specified directory"""
ui.write('<?xml version="1.0"?>\n') ui.write('<?xml version="1.0"?>\n')
@ -176,6 +188,26 @@ cmdtable = {
[('r', 'rev', [], 'revision'), [('r', 'rev', [], 'revision'),
('c', 'change', '', 'change made by revision')], ('c', 'change', '', 'change made by revision')],
'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...'), 'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...'),
'rhlog': (rhlog,
[
('r', 'rev', [], 'show the specified revision'),
('b', 'branch', [],
'show changesets within the given named branch', 'BRANCH'),
('l', 'limit', '',
'limit number of changes displayed', 'NUM'),
('d', 'date', '',
'show revisions matching date spec', 'DATE'),
('u', 'user', [],
'revisions committed by user', 'USER'),
('', 'from', '',
'', ''),
('', 'to', '',
'', ''),
('', 'rhbranch', '',
'', ''),
('', 'template', '',
'display with template', 'TEMPLATE')],
'hg rhlog [OPTION]... [FILE]'),
'rhmanifest': (rhmanifest, 'rhmanifest': (rhmanifest,
[('r', 'rev', '', 'show the specified revision')], [('r', 'rev', '', 'show the specified revision')],
'hg rhmanifest [-r REV] [PATH]'), 'hg rhmanifest [-r REV] [PATH]'),