[PATCH 1 of 2] cat: factor out a function that populates the formatter

Matt Harbison mharbison72 at gmail.com
Wed Jan 17 20:28:52 EST 2018


On Wed, 17 Jan 2018 08:40:10 -0500, Yuya Nishihara <yuya at tcha.org> wrote:

> On Tue, 16 Jan 2018 21:29:26 -0500, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1516150560 18000
>> #      Tue Jan 16 19:56:00 2018 -0500
>> # Node ID ac8052ec552b36d4bee5bc24bc92fcee36d843cb
>> # Parent  821d8a5ab4ff890a7732c2e4cdcc7f32191e5942
>> cat: factor out a function that populates the formatter
>
> Queued, thanks.
>
>> +def _updatecatformatter(fm, ctx, matcher, path, decode):
>> +    """Hook for adding data to the formatter used by ``hg cat``.
>> +
>> +    Extensions (e.g., lfs) can wrap this to inject keywords/data, but  
>> must call
>> +    this method first."""
>> +    data = ctx[path].data()
>> +    if decode:
>> +        data = ctx.repo().wwritedata(path, data)
>> +    fm.startitem()
>> +    fm.write('data', '%s', data)
>> +    fm.data(abspath=path, path=matcher.rel(path))
>
> FWIW, it'll be nice if we can add templatekw for fctx, so {rawdata} can  
> be
> a lazy function.

I found the TODO in formatter._renderitem(), but have no idea what's  
needed.  We can pick it up next cycle.  I'd like to add some of these lfs  
keywords to `hg files`, since log only notices when there's a change to  
the file.


More information about the Mercurial-devel mailing list