[PATCH 2 of 2] Add hgpatch style

Brendan Cully brendan at kublai.com
Wed Nov 19 17:28:11 CST 2008


# HG changeset patch
# User Brendan Cully <brendan at kublai.com>
# Date 1227136896 28800
# Node ID bce0160b1bbd9d0dd10616c4b5599bfdac4dfdc2
# Parent  14ccbb1141d7d5a05642d0813e49733798ac3a5e
Add hgpatch style

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -793,6 +793,8 @@
             parents = [[('rev', p), ('node', hex(log.node(p)))]
                        for p in self._meaningful_parentrevs(log, rev)]
             return showlist('parent', parents, **args)
+        def allparents(**args):
+            return [[('rev', p), ('node', hex(log.node(p)))] for p in log.parentrevs(rev)]
 
         def showtags(**args):
             return showlist('tag', self.repo.nodetags(changenode), **args)
@@ -840,6 +842,7 @@
             'manifest': showmanifest,
             'node': hex(changenode),
             'parents': showparents,
+            'allparents': allparents,
             'rev': rev,
             'tags': showtags,
             'extras': showextras,
diff --git a/mercurial/templatefilters.py b/mercurial/templatefilters.py
--- a/mercurial/templatefilters.py
+++ b/mercurial/templatefilters.py
@@ -152,12 +152,16 @@
     else:
         raise TypeError('cannot encode type %s' % obj.__class__.__name__)
 
+def dictge(key, min, lst):
+    return [x for x in lst if int(dict(x)[key]) >= int(min)]
+
 filters = {
     "addbreaks": nl2br,
     "basename": os.path.basename,
     "age": age,
     "date": lambda x: util.datestr(x),
     "datefmt": lambda x, y: util.datestr(y, x),
+    "dictge": dictge,
     "domain": domain,
     "email": util.email,
     "escape": lambda x: cgi.escape(x, True),
diff --git a/templates/map-cmdline.hgpatch b/templates/map-cmdline.hgpatch
new file mode 100644
--- /dev/null
+++ b/templates/map-cmdline.hgpatch
@@ -0,0 +1,3 @@
+changeset = '# HG changeset patch\n# User {author}\n# Date {date|hgdate}\n{branches}# Node ID {node}\n{allparents|dictge(rev,0)%parent}{desc}\n\n'
+parent = '# Parent  {node}\n'
+branch = '# Branch {branch}\n'


More information about the Mercurial-devel mailing list