let commands that show changesets use templates.
mechanism is same as hgweb templates.
old show_changeset code is still used for now if no template given,
because it is faster than template code when verbose or debug.
simple template can be given on command line using -t, --template.
example:
hg log -t '{author|person}\n'
complex template can be put in template map file, given on command line
using --map-file.
we give two example map files:
map-log.compact prints 3 lines of output for every change.
map-log.verbose prints exact same output as default "hg log -v".
map files are searched where user says, then in template path as backup.
example:
hg log --map-file map-log.compact
defaults can be set in hgrc with ui.logtemplate and ui.logmap.
# HG changeset patch
# User test
# Node ID b51ca55c20354097ca299529d18b5cd356976ba2
# Parent 0000000000000000000000000000000000000000
1
diff -r 000000000000 -r b51ca55c2035 foo
--- /dev/null Thu Jan 1 00:00:00 1970 +0000
+++ b/foo Thu Jan 1 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
# HG changeset patch
# User test
# Node ID 451c12a24e5a7336921b8d93e280837d7c2b4fc1
# Parent b51ca55c20354097ca299529d18b5cd356976ba2
2
diff -r b51ca55c2035 -r 451c12a24e5a foo
--- a/foo Thu Jan 1 00:00:00 1970 +0000
+++ /dev/null Thu Jan 1 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-a
changeset: 0:b51ca55c2035
user: test
date: Thu Jan 1 00:00:00 1970 +0000
summary: 1
diff -r 000000000000 -r b51ca55c2035 foo
--- /dev/null Thu Jan 1 00:00:00 1970 +0000
+++ b/foo Thu Jan 1 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
changeset: 1:451c12a24e5a
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970 +0000
summary: 2
diff -r b51ca55c2035 -r 451c12a24e5a foo
--- a/foo Thu Jan 1 00:00:00 1970 +0000
+++ /dev/null Thu Jan 1 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-a