[PATCH 1 of 2] keyword: add 2 svn-like date filters
Christian Ebert
blacktrash at gmx.net
Wed Feb 10 03:14:05 CST 2010
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1265793229 -3600
# Node ID 10c4d26ba800a07a37171f76c74ba3ad0acaf67d
# Parent 2d30d66a89ad29f471aa6918fc46121a4bc3fbe8
keyword: add 2 svn-like date filters
svnisodate yields the format the date in svn's Id keyword expands to.
svnutcdate yields the format svn's Date/LastChangedDate expands to.
http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html
diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -52,8 +52,11 @@
control run "hg kwdemo". See "hg help templates" for a list of
available templates and filters.
-An additional date template filter {date|utcdate} is provided. It
-returns a date like "2006/09/18 15:13:13".
+Three additional date template filters are provided::
+
+ utcdate "2006/09/18 15:13:13"
+ svnutcdate "2006-09-18 15:13:13Z"
+ svnisodate "2006-09-18 08:13:13 -700 (Mon, 18 Sep 2006)"
The default template mappings (view with "hg kwdemo -d") can be
replaced with customized keywords and templates. Again, run "hg
@@ -96,8 +99,12 @@
restricted = ('merge record resolve qfold qimport qnew qpush qrefresh qrecord'
' transplant')
-# provide cvs-like UTC date filter
+# date like in cvs' $Date
utcdate = lambda x: util.datestr((x[0], 0), '%Y/%m/%d %H:%M:%S')
+# date like in svn's $Date
+svnisodate = lambda x: util.datestr(x, '%Y-%m-%d %H:%M:%S %1%2 (%a, %d %b %Y)')
+# date like in svn's $Id
+svnutcdate = lambda x: util.datestr((x[0], 0), '%Y-%m-%d %H:%M:%SZ')
# make keyword tools accessible
kwtools = {'templater': None, 'hgcmd': '', 'inc': [], 'exc': ['.hg*']}
@@ -136,6 +143,8 @@
self.re_kw = re.compile(kwpat)
templatefilters.filters['utcdate'] = utcdate
+ templatefilters.filters['svnisodate'] = svnisodate
+ templatefilters.filters['svnutcdate'] = svnutcdate
self.ct = cmdutil.changeset_templater(self.ui, self.repo,
False, None, '', False)
More information about the Mercurial-devel
mailing list