Mercurial > hg
annotate mercurial/templates/map-cmdline.show @ 41722:37b33c34bf4f
templatekw: add a {negrev} keyword
Revision numbers are getting much maligned for two reasons: they are
too long in large repos and users get confused by their local-only
nature. It just occurred to me that negative revision numbers avoid
both of those problems. Since negative revision numbers change
whenever the repo changes, it's much more obvious that they are a
local-only convenience. Additionally, for the recent commits that we
usually care about the most, negative revision numbers are always near
zero.
This commit adds a negrev templatekw to more easily expose negative
revision numbers. It's not easy to reliably produce this output with
existing keywords due to hidden commits while at the same time
ensuring good performance.
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Fri, 15 Feb 2019 14:43:31 -0500 |
parents | b45c353ebbc7 |
children |
rev | line source |
---|---|
32059
0ea1d9a750da
show: add basic labels to work template
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32058
diff
changeset
|
1 # TODO there are a few deficiencies in this file: |
0ea1d9a750da
show: add basic labels to work template
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32058
diff
changeset
|
2 # * The "namespace" of the labels needs to be worked out. We currently |
0ea1d9a750da
show: add basic labels to work template
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32058
diff
changeset
|
3 # piggyback on existing values so color works. |
34877
eb24f1d1b50b
show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents:
34714
diff
changeset
|
4 |
eb24f1d1b50b
show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents:
34714
diff
changeset
|
5 %include map-cmdline.default |
34714
f4aeb952ab77
templater: load template fragments from [templates] section in map file
Yuya Nishihara <yuya@tcha.org>
parents:
34190
diff
changeset
|
6 |
f4aeb952ab77
templater: load template fragments from [templates] section in map file
Yuya Nishihara <yuya@tcha.org>
parents:
34190
diff
changeset
|
7 [templates] |
34190
4441c1113eb2
show: pass the minimum length for nodes as a template keyword
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33197
diff
changeset
|
8 showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, nodelen)}\n' |
33046
11f768258dcc
show: construct changeset templater during dispatch
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32059
diff
changeset
|
9 |
33050
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
10 showwork = '{cset_shortnode}{namespaces % cset_namespace} {cset_shortdesc}' |
33197
c5a07a3abe7d
show: implement "stack" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33050
diff
changeset
|
11 showstack = '{showwork}' |
33046
11f768258dcc
show: construct changeset templater during dispatch
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32059
diff
changeset
|
12 |
34877
eb24f1d1b50b
show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents:
34714
diff
changeset
|
13 cset_shortnode = '{labelcset(shortest(node, nodelen))}' |
33050
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
14 |
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
15 # Treat branch and tags specially so we don't display "default" or "tip" |
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
16 cset_namespace = '{ifeq(namespace, "branches", names_branches, ifeq(namespace, "tags", names_tags, names_others))}' |
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
17 names_branches = '{ifeq(branch, "default", "", " ({label('log.{colorname}', branch)})")}' |
38450
b45c353ebbc7
show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org>
parents:
38288
diff
changeset
|
18 names_tags = '{if(filter_tags(names), |
b45c353ebbc7
show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org>
parents:
38288
diff
changeset
|
19 " ({label('log.{colorname}', join(filter_tags(names), ' '))})")}' |
33050
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
20 names_others = '{if(names, " ({label('log.{colorname}', join(names, ' '))})")}' |
0a507da7d8ea
show: show all namespaces in "work" view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33046
diff
changeset
|
21 |
33046
11f768258dcc
show: construct changeset templater during dispatch
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32059
diff
changeset
|
22 cset_shortdesc = '{label("log.description", desc|firstline)}' |
38450
b45c353ebbc7
show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org>
parents:
38288
diff
changeset
|
23 |
b45c353ebbc7
show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org>
parents:
38288
diff
changeset
|
24 [templatealias] |
b45c353ebbc7
show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org>
parents:
38288
diff
changeset
|
25 filter_tags(names) = filter(names, ifeq(name, 'tip', '', name)) |