On Mon, 26 Mar 2018 22:13:18 +0900 Yuya Nishihara <y...@tcha.org> wrote:
> On Mon, 26 Mar 2018 19:55:20 +0800, Anton Shestakov wrote: > > # HG changeset patch > > # User Anton Shestakov <a...@dwimlabs.net> > > # Date 1522054812 -28800 > > # Mon Mar 26 17:00:12 2018 +0800 > > # Node ID 123d9e4d706909c8912f11acee292735c0fb283c > > # Parent 6f570c501e3ebc3d9b59920f50ed7523d93cb847 > > templates: add whyunstable template keyword I went and revived this series. Let's see if I can squeeze some patches in before the freeze. > > + def makemap(entry): > > + item = {'ctx': repo[entry['node']], 'revcache': {}} > ^^^^^^^^^^^^^^ > > 'revcache' is no longer needed. > > Perhaps, obsutil.whyunstable() can put 'ctx' instead of 'node'? At least in content-divergent cases, common predecessor can be absent from local repo. I don't think there's any "surrogate" ctx (i.e. created from hash alone) that would work here yet. > > + item.update(entry) > > + if item.get('divergentnodes'): > > + dnhybrid = _hybrid(None, item['divergentnodes'], > > + lambda x: {'ctx': x, 'revcache': {}}, > > + formatnode) > > Perhaps showrevslist() can be used. Each hybrid value has to be a printable > object such as int. Tried it, but it feels like I'm jumping through hoops for no good reason: doing ctx.rev() and then repo[rev] right after that just to get ctx back. Maybe I'm doing something wrong, but I have an idea (not sure how crazy it is): I'd like to have divergentnodes be a mappinglist with tmpl that works from inside the entries (also mappinglist). It doesn't work yet, but I've sent an RFC to get feedback on it. > > + item['divergentnodes'] = dnhybrid > > + return item > > + > > + entries = obsutil.whyunstable(repo, ctx) > > + return _hybrid(None, entries, makemap, formatentry) > > It isn't correct to wrap a list of template mappings by _hybrid. Instead, > makemap() has to build a mapping dict from a printable value. > > Can you hold off this series for 2-3 weeks? I have long series which will > add a wrapper for a list of template mappings. Basically it will allow us > to write the default string representation as template: > > return mappinglist(entries, tmpl='{instability}: {divergentnodes % ...') _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel