[PATCH 1 of 2] archive: use a templater to build the metadata file
Yuya Nishihara
yuya at tcha.org
Tue Jul 18 08:39:06 EDT 2017
On Mon, 17 Jul 2017 23:08:25 -0400, Matt Harbison wrote:
> On Mon, 17 Jul 2017 09:53:12 -0400, Yuya Nishihara <yuya at tcha.org> wrote:
>
> > On Mon, 17 Jul 2017 00:57:38 -0400, Matt Harbison wrote:
> >> # HG changeset patch
> >> # User Matt Harbison <matt_harbison at yahoo.com>
> >> # Date 1500241236 14400
> >> # Sun Jul 16 17:40:36 2017 -0400
> >> # Node ID 4d37def90ad5e0196dadb9bc2c9e62effad63691
> >> # Parent d09de637cbc88ed2db989298115d0c0cb6cc6f27
> >> archive: use a templater to build the metadata file
> >
> > Queued, thanks.
> >
> >> + default = (
> >> + r'repo: {root}\n'
> >> + r'node: {ifcontains(rev, revset("wdir()"),'
> >> + r'"{p1node}{dirty}", "{node}")}\n'
> >> + r'branch: {branch|utf8}\n'
> >>
> >> - base = 'repo: %s\nnode: %s\nbranch: %s\n' % (
> >> - _rootctx(repo).hex(), hex, encoding.fromlocal(ctx.branch()))
> >> + # {tags} on ctx includes local tags and 'tip', with no current
> >> way to
> >> + # limit that to global tags. Therefore, use {latesttag} as a
> >> substitute
> >> + # when the distance is 0, since that will be the list of
> >> global tags on
> >> + # ctx.
> >> + r'{ifeq(latesttagdistance, 0, latesttag % "tag: {tag}\n",'
> >> + r'"{latesttag % "latesttag: {tag}\n"}'
> >> + r'latesttagdistance: {latesttagdistance}\n'
> >> + r'changessincelatesttag:
> >> {changessincelatesttag}\n")}'
> >
> > You could use {separate('', '', ...)} to eliminate these weird indents.
>
> I'm not sure what you mean. I indented like this to vertically line up
> the true and false args to ifeq() for readability. (Originally I used
> 'tags' as the first arg, and it all lined up until I figured out how to
> hack around local tags in the {tags} keyword. So that was a failure.)
separate() could be used to indent template fragments in string.
r'{ifeq(...,
r' separate("",'
r' "{latesttag % "latesttag: {tag}\n"}",'
r' "latesttagdistance: {latesttagdistance}\n",'
...
More information about the Mercurial-devel
mailing list