[PATCH 2 of 3] cmdutil: add support for evolution "troubles" display in changeset_printer
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sun Oct 16 09:16:46 EDT 2016
On 10/15/2016 02:36 PM, Yuya Nishihara wrote:
> On Mon, 10 Oct 2016 14:33:18 +0200, Denis Laxalde wrote:
>> # HG changeset patch
>> # User Denis Laxalde <denis.laxalde at logilab.fr>
>> # Date 1476094018 -7200
>> # Mon Oct 10 12:06:58 2016 +0200
>> # Node ID d9f7776c40b8c82bf438322f2442d99c4e116161
>> # Parent 6c916ce602f5c92c5a5a4de954629670b8c7ca8c
>> # EXP-Topic evolve-ui
>> cmdutil: add support for evolution "troubles" display in changeset_printer
>>
>> Add a "troubles" line in changeset header along with a couple of labels on
>> "log.changeset" line to indicate whether a changeset is troubled or not and
>> which kind trouble occurs.
>>
>> Extract a _changesetlabels function to be reused in summary command.
>>
>> diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
>> --- a/mercurial/cmdutil.py
>> +++ b/mercurial/cmdutil.py
>> @@ -1204,6 +1204,14 @@ def diffordiffstat(ui, repo, diffopts, n
>> sub.diff(ui, diffopts, tempnode2, submatch, changes=changes,
>> stat=stat, fp=fp, prefix=prefix)
>>
>> +def _changesetlabels(ctx):
>> + labels = ['log.changeset', 'changeset.%s' % ctx.phasestr()]
>> + if ctx.troubled():
>> + labels.append('changeset.troubled')
>> + for trouble in ctx.troubles():
>> + labels.append('trouble.%s' % trouble)
>> + return ' '.join(labels)
>> +
>> class changeset_printer(object):
>> '''show changeset information when templating not requested.'''
>>
>> @@ -1264,7 +1272,7 @@ class changeset_printer(object):
>>
>> # i18n: column positioning for "hg log"
>> self.ui.write(_("changeset: %d:%s\n") % revnode,
>> - label='log.changeset changeset.%s' % ctx.phasestr())
>> + label=_changesetlabels(ctx))
>>
>> # branches are shown first before any other names due to backwards
>> # compatibility
>> @@ -1309,6 +1317,10 @@ class changeset_printer(object):
>> self.ui.write(_("date: %s\n") % date,
>> label='log.date')
>>
>> + if ctx.troubled():
>> + self.ui.write(_("troubles: %s\n") % ', '.join(ctx.troubles()),
>> + label='ui.note log.troubles')
>
> The change looks good, but I have no idea if we can expose "troubles",
> "troubled", etc. as a public API. I have a vague memory someone saying
> "trouble" sounds trange to native speakers.
There have been discussion about the name of the trouble them-self too.
My personal opinion about this is:
- concerns have been expressed for years without actual progress made,
so I think we should take this change at the beginning of the 4.1 cycle.
This should give time to adjust naming if necessary.
- As long as Evolution and its bits are flagged as experimental we have
some room to make change there.
> And we'll need to update templates/map-cmdline.default to reflect this change.
+1, we could have some special mode that use the default cmdline
template instead of the dedicated code and run the tests for it in a
buildbot.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list