OSDN Git Service

scm: mercurial: add new "rhlog()" function in helper extension (#7246, #4455).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 13 Mar 2011 00:47:47 +0000 (00:47 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 13 Mar 2011 00:47:47 +0000 (00:47 +0000)
For latest changesets supporting named branch.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5101 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/mercurial/redminehelper.py

index e6c9182..3e82e95 100644 (file)
@@ -134,6 +134,18 @@ def rhdiff(ui, repo, *pats, **opts):
     opts['nodates'] = True
     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):
     """output the sub-manifest of the specified directory"""
     ui.write('<?xml version="1.0"?>\n')
@@ -176,6 +188,26 @@ cmdtable = {
                [('r', 'rev', [], 'revision'),
                 ('c', 'change', '', 'change made by revision')],
                '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,
                    [('r', 'rev', '', 'show the specified revision')],
                    'hg rhmanifest [-r REV] [PATH]'),