mercurial/templates/map-cmdline.default
author Boris Feld <boris.feld@octobus.net>
Fri, 06 Oct 2017 17:53:36 +0200
changeset 34853 962f7df21a73
parent 34717 06b52671552b
child 34901 ec765a71bd65
permissions -rw-r--r--
obsfate: add obsfate to default mapfile 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.

# 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)