new file mode 100644
@@ -0,0 +1,25 @@
+%include map-cmdline.default
+
+# Override base templates
+changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{summary}{lfiles}\n'
+changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{description}{lfiles}\n'
+changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{extras}{description}{lfiles}\n'
+
+# Override the file templates
+lfiles = '{if(files,
+ label('ui.note log.files',
+ 'files:\n'))}{lfile_mods}{lfile_adds}{lfile_copies_switch}{lfile_dels}'
+
+# Exclude copied files, will display those in lfile_copies_switch
+lfile_adds = '{file_adds % "{ifcontains(file, file_copies_switch,
+ '',
+ '{lfile_add}')}"}'
+lfile_add = '{label("status.added", "A {file}\n")}'
+
+lfile_copies_switch = '{file_copies_switch % "{lfile_copy_orig}{lfile_copy_dest}"'
+lfile_copy_orig = '{label("status.added", "A {name}\n")}'
+lfile_copy_dest = '{label("status.copied", " {source}\n")}'
+
+lfile_mods = '{file_mods % "{label('status.modified', 'M {file}\n')}"}'
+
+lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'
@@ -992,11 +992,11 @@ Error if no style:
$ hg log --style notexist
abort: style 'notexist' not found
- (available styles: bisect, changelog, compact, default, phases, xml)
+ (available styles: bisect, changelog, compact, default, phases, status, xml)
[255]
$ hg log -T list
- available styles: bisect, changelog, compact, default, phases, xml
+ available styles: bisect, changelog, compact, default, phases, status, xml
abort: specify a template
[255]
@@ -2002,6 +2002,147 @@ Add a commit that does all possible modi
$ hg rm a
$ hg ci -m "Modify, add, remove, rename"
+Check the status template
+
+ $ cat <<EOF >> $HGRCPATH
+ > [extensions]
+ > color=
+ > EOF
+
+ $ hg log -T status -r 10
+ changeset: 10:341a8c311530
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: Modify, add, remove, rename
+ files:
+ M third
+ A b
+ A fifth
+ R a
+ R fourth
+
+ $ hg log -T status -C -r 10
+ changeset: 10:341a8c311530
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: Modify, add, remove, rename
+ files:
+ M third
+ A b
+ A fifth
+ fourth
+ R a
+ R fourth
+
+ $ hg log -T status -C -r 10 -v
+ changeset: 10:341a8c311530
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ description:
+ Modify, add, remove, rename
+
+ files:
+ M third
+ A b
+ A fifth
+ fourth
+ R a
+ R fourth
+
+ $ hg log -T status -C -r 10 --debug
+ changeset: 10:341a8c3115305cd72a800ce1e252ec2ea1042832
+ tag: tip
+ phase: secret
+ parent: 9:02e1fd2a17dcc7d000510446c26068ea04caa525
+ parent: -1:0000000000000000000000000000000000000000
+ manifest: 8:a930d6741183e66f30ba2d443eeb8f0b28b61d6a
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ extra: branch=default
+ description:
+ Modify, add, remove, rename
+
+ files:
+ M third
+ A b
+ A fifth
+ fourth
+ R a
+ R fourth
+
+ $ hg log -T status -C -r 10 --quiet
+ 10:341a8c311530
+ $ hg --color=debug log -T status -r 10
+ [log.changeset changeset.secret|changeset: 10:341a8c311530]
+ [log.tag|tag: tip]
+ [log.user|user: test]
+ [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
+ [log.summary|summary: Modify, add, remove, rename]
+ [ui.note log.files|files:]
+ [status.modified|M third]
+ [status.added|A b]
+ [status.added|A fifth]
+ [status.removed|R a]
+ [status.removed|R fourth]
+
+ $ hg --color=debug log -T status -C -r 10
+ [log.changeset changeset.secret|changeset: 10:341a8c311530]
+ [log.tag|tag: tip]
+ [log.user|user: test]
+ [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
+ [log.summary|summary: Modify, add, remove, rename]
+ [ui.note log.files|files:]
+ [status.modified|M third]
+ [status.added|A b]
+ [status.added|A fifth]
+ [status.copied| fourth]
+ [status.removed|R a]
+ [status.removed|R fourth]
+
+ $ hg --color=debug log -T status -C -r 10 -v
+ [log.changeset changeset.secret|changeset: 10:341a8c311530]
+ [log.tag|tag: tip]
+ [log.user|user: test]
+ [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
+ [ui.note log.description|description:]
+ [ui.note log.description|Modify, add, remove, rename]
+
+ [ui.note log.files|files:]
+ [status.modified|M third]
+ [status.added|A b]
+ [status.added|A fifth]
+ [status.copied| fourth]
+ [status.removed|R a]
+ [status.removed|R fourth]
+
+ $ hg --color=debug log -T status -C -r 10 --debug
+ [log.changeset changeset.secret|changeset: 10:341a8c3115305cd72a800ce1e252ec2ea1042832]
+ [log.tag|tag: tip]
+ [log.phase|phase: secret]
+ [log.parent changeset.secret|parent: 9:02e1fd2a17dcc7d000510446c26068ea04caa525]
+ [log.parent changeset.public|parent: -1:0000000000000000000000000000000000000000]
+ [ui.debug log.manifest|manifest: 8:a930d6741183e66f30ba2d443eeb8f0b28b61d6a]
+ [log.user|user: test]
+ [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
+ [ui.debug log.extra|extra: branch=default]
+ [ui.note log.description|description:]
+ [ui.note log.description|Modify, add, remove, rename]
+
+ [ui.note log.files|files:]
+ [status.modified|M third]
+ [status.added|A b]
+ [status.added|A fifth]
+ [status.copied| fourth]
+ [status.removed|R a]
+ [status.removed|R fourth]
+
+ $ hg --color=debug log -T status -C -r 10 --quiet
+ [log.node|10:341a8c311530]
+
+
Error on syntax:
$ echo 'x = "f' >> t
@@ -148,7 +148,7 @@ log on directory
$ hg log -f -l1 --style something
abort: style 'something' not found
- (available styles: bisect, changelog, compact, default, phases, xml)
+ (available styles: bisect, changelog, compact, default, phases, status, xml)
[255]
-f, phases style