# HG changeset patch # User Yuya Nishihara # Date 2014-10-02 14:26:02 # Node ID d4869b280cd6cb18596a77325e94620001fef6ac # Parent 386339ffe421b962312eb92674f6a03863e3e018 branches: include active, closed and current flags in template output diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1116,7 +1116,8 @@ def branches(ui, repo, active=False, clo else: label = 'branches.inactive' notice = _(' (inactive)') - if tag == repo.dirstate.branch(): + current = (tag == repo.dirstate.branch()) + if current: label = 'branches.current' fm.startitem() @@ -1126,6 +1127,7 @@ def branches(ui, repo, active=False, clo fmt = ' ' * padsize + ' %d:%s' fm.condwrite(not ui.quiet, 'rev node', fmt, rev, hexfunc(ctx.node()), label='log.changeset changeset.%s' % ctx.phasestr()) + fm.data(active=isactive, closed=not isopen, current=current) if not ui.quiet: fm.plain(notice) fm.plain('\n') diff --git a/tests/test-branches.t b/tests/test-branches.t --- a/tests/test-branches.t +++ b/tests/test-branches.t @@ -475,27 +475,42 @@ template output: $ hg branches -Tjson --closed [ { + "active": true, "branch": "b", + "closed": false, + "current": true, "node": "e23b5505d1ad24aab6f84fd8c7cb8cd8e5e93be0", "rev": 13 }, { + "active": true, "branch": "a branch name much longer than the default justification used by branches", + "closed": false, + "current": false, "node": "10ff5895aa5793bd378da574af8cec8ea408d831", "rev": 7 }, { + "active": false, "branch": "c", + "closed": true, + "current": false, "node": "f894c25619d3f1484639d81be950e0a07bc6f1f6", "rev": 14 }, { + "active": false, "branch": "a", + "closed": false, + "current": false, "node": "d8cbc61dbaa6dc817175d1e301eecb863f280832", "rev": 5 }, { + "active": false, "branch": "default", + "closed": false, + "current": false, "node": "19709c5a4e75bf938f8e349aff97438539bb729e", "rev": 0 }