Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 10:25:46 -0800] rev 4953
obslog: make {descdiff} not be indented and leave that to the template
Same idea as the previous patch and same explanation for changes to
the test case.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 09:53:42 -0800] rev 4952
obslog: make {patch} not be indented and leave that to the template
This removes some unwanted indentation from the tests. In the first
case, it's because indent() doesn't indent a blank line. In the second
case, it's because we used templating with {patch} and had not
requested indentation (but we still got it before this patch).
Note that tests will only pass with a very recent Mercurial (one with
https://phab.mercurial-scm.org/D7432 applied).
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 13:40:53 -0800] rev 4951
obslog: make {succnodes} be full hex nodes
It should be up to the user to shorten the nodeid as much or as little
as they like.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 Nov 2019 07:19:18 -0800] rev 4950
obslog: remove now-unused code for plain styling
We now always use a non-plain formatter for the non-local-filtering
code paths, so we can remove the code for plain styling.
I couldn't figure out how to replace the fm.formatlist() by something
less about formatting, so I've only removed the irrelevant arguments
from those calls.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:17:34 -0800] rev 4949
obslog: redefine default output as a template, unless -f was given
This was easier than I expected to do without affecting any test
output at all.
`hg obslog -f` is pretty broken with templating. For example, it
inserts a single "date" field, but it provides two values for it if
the dates are different. That results in a traceback when running
e.g. `hg obslog -f -Tfoo` with non-local obsmarkers with different
dates. We need to figure out what we want to put in the template for
the filtered case. I've just left it out for now.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:15:29 -0800] rev 4948
obslog: add newline after all markers in non-graphlog to match graphlog
I'd also be fine with doing the reverse if that's preferred, but I
really want them to be the same so they can use the same template.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 22:24:50 -0800] rev 4947
obslog: make reason for unavailable patch part of template
We need the reason to be in the template in order to be able to
templatize the whole output.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 16:34:01 -0800] rev 4946
obslog: make content and description patches available to templater
The code was repeatedly calling fm.write() with the same field
("patch" and "descdiff"). I think that led to the value constantly
getting replaced, so when it was used in a template (as {patch} or
{descdiff}), it would only get the last value, which was always an
empty string.
This patch fixes it by writing the full patch to a temporary buffer
and then assigning the whole patch to the formatter field.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:44 -0800] rev 4945
obslog: rename {desc-diff} to {descdiff} since the former is invalid
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:16 -0800] rev 4944
tests: demonstrate broken {patch} and {desc-diff} template keywords