mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
c3010f59dd
Use the verbosity aware template keyword introduced earlier. It has the nice property of being verbosity dependent but in order to customize the obsfate part, users will need to replace the lobsfate definition from default mapfile with the one using template functions (by copying the one from test-obsmarker- template.t for example). As it's a more advanced use-case, I'm more inclined to have the same code for the {obsfate} keyword, in the changeset printer and in the default mapfile for consistency. But, the definition in default mapfile could be replaced with one based on template filter to obsfate output customization if it is a big need for users.
92 lines
3.5 KiB
Plaintext
92 lines
3.5 KiB
Plaintext
# Base templates. Due to name clashes with existing keywords, we have
|
|
# to replace some keywords with 'lkeyword', for 'labelled keyword'
|
|
|
|
[templates]
|
|
changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{summary}\n'
|
|
changeset_quiet = '{lnode}'
|
|
changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{lfiles}{lfile_copies_switch}{description}\n'
|
|
changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{ltroubles}{lobsfate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n'
|
|
|
|
# File templates
|
|
lfiles = '{if(files,
|
|
label("ui.note log.files",
|
|
"files: {files}\n"))}'
|
|
|
|
lfile_mods = '{if(file_mods,
|
|
label("ui.debug log.files",
|
|
"files: {file_mods}\n"))}'
|
|
|
|
lfile_adds = '{if(file_adds,
|
|
label("ui.debug log.files",
|
|
"files+: {file_adds}\n"))}'
|
|
|
|
lfile_dels = '{if(file_dels,
|
|
label("ui.debug log.files",
|
|
"files-: {file_dels}\n"))}'
|
|
|
|
lfile_copies_switch = '{if(file_copies_switch,
|
|
label("ui.note log.copies",
|
|
"copies: {file_copies_switch
|
|
% ' {name} ({source})'}\n"))}'
|
|
|
|
# General templates
|
|
cset = '{labelcset("changeset: {rev}:{node|short}")}\n'
|
|
fullcset = '{labelcset("changeset: {rev}:{node}")}\n'
|
|
|
|
lphase = '{label("log.phase",
|
|
"phase: {phase}")}\n'
|
|
|
|
parent = '{label("log.parent changeset.{phase}",
|
|
"parent: {rev}:{node|formatnode}")}\n'
|
|
|
|
lnode = '{label("log.node",
|
|
"{rev}:{node|short}")}\n'
|
|
|
|
manifest = '{label("ui.debug log.manifest",
|
|
"manifest: {rev}:{node}")}\n'
|
|
|
|
branch = '{label("log.branch",
|
|
"branch: {branch}")}\n'
|
|
|
|
tag = '{label("log.tag",
|
|
"tag: {tag}")}\n'
|
|
|
|
bookmark = '{label("log.bookmark",
|
|
"bookmark: {bookmark}")}\n'
|
|
|
|
user = '{label("log.user",
|
|
"user: {author}")}\n'
|
|
|
|
summary = '{if(desc|strip, "{label('log.summary',
|
|
'summary: {desc|firstline}')}\n")}'
|
|
|
|
ldate = '{label("log.date",
|
|
"date: {date|date}")}\n'
|
|
|
|
ltroubles = '{if(instabilities, "{label('log.instability',
|
|
'instability: {join(instabilities, ", ")}')}\n")}'
|
|
|
|
extra = '{label("ui.debug log.extra",
|
|
"extra: {key}={value|stringescape}")}\n'
|
|
|
|
description = '{if(desc|strip, "{label('ui.note log.description',
|
|
'description:')}
|
|
{label('ui.note log.description',
|
|
'{desc|strip}')}\n\n")}'
|
|
|
|
status = '{status} {path}\n{if(copy, " {copy}\n")}'
|
|
|
|
# Obsfate templates, it would be removed once we introduce the obsfate
|
|
# template fragment
|
|
lobsfate = '{if(obsfate, "{label('log.obsfate', '{obsfate % "obsfate: {fate}\n"}')}")}'
|
|
|
|
[templatealias]
|
|
labelcset(expr) = label(separate(" ",
|
|
"log.changeset",
|
|
"changeset.{phase}",
|
|
if(obsolete, "changeset.obsolete"),
|
|
if(instabilities, "changeset.unstable"),
|
|
join(instabilities
|
|
% "instability.{instability}", " ")),
|
|
expr)
|