diff --git a/hgext/blackbox.py b/hgext/blackbox.py --- a/hgext/blackbox.py +++ b/hgext/blackbox.py @@ -33,6 +33,11 @@ Examples:: # rotate up to N log files when the current one gets too big maxfiles = 3 + [blackbox] + # Include nanoseconds in log entries with %f (see Python function + # datetime.datetime.strftime) + date-format = '%Y-%m-%d @ %H:%M:%S.%f' + """ from __future__ import absolute_import @@ -82,6 +87,9 @@ configitem('blackbox', 'maxfiles', configitem('blackbox', 'track', default=lambda: ['*'], ) +configitem('blackbox', 'date-format', + default='%Y/%m/%d %H:%M:%S', +) lastui = None @@ -169,7 +177,8 @@ def wrapui(ui): return ui._bbinlog = True default = self.configdate('devel', 'default-date') - date = dateutil.datestr(default, '%Y/%m/%d %H:%M:%S') + date = dateutil.datestr(default, + ui.config('blackbox', 'date-format')) user = procutil.getuser() pid = '%d' % procutil.getpid() formattedmsg = msg[0] % msg[1:] diff --git a/tests/test-blackbox.t b/tests/test-blackbox.t --- a/tests/test-blackbox.t +++ b/tests/test-blackbox.t @@ -82,6 +82,16 @@ recursive aliases work correctly 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> so-confusing exited 0 after * seconds (glob) 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox +custom date format + $ rm ./.hg/blackbox.log + $ hg --config blackbox.date-format='%Y-%m-%d @ %H:%M:%S' \ + > --config devel.default-date='1334347993 0' --traceback status + A a + $ hg blackbox + 2012-04-13 @ 20:13:13 bob @0000000000000000000000000000000000000000 (5000)> --config 'blackbox.date-format=%Y-%m-%d @ %H:%M:%S' --config 'devel.default-date=1334347993 0' --traceback status + 2012-04-13 @ 20:13:13 bob @0000000000000000000000000000000000000000 (5000)> --config 'blackbox.date-format=%Y-%m-%d @ %H:%M:%S' --config 'devel.default-date=1334347993 0' --traceback status exited 0 after * seconds (glob) + 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox + incoming change tracking create two heads to verify that we only see one change in the log later