# HG changeset patch # User Martin von Zweigbergk # Date 2020-10-23 05:29:22 # Node ID b4c193509cd05bda4379b058365972332881d36e # Parent 5effb1992c172f651c1ccf0bae11dd39e411f014 rebase: use hard-coded template for one-line commit description This is to prepare for making making the one-line summary customizable. The template ended up pretty complicated because of the conditional output of "()". Maybe we can simplify the template later. Differential Revision: https://phab.mercurial-scm.org/D9250 diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -34,6 +34,7 @@ from mercurial import ( dirstateguard, error, extensions, + formatter, merge as mergemod, mergestate as mergestatemod, mergeutil, @@ -51,6 +52,7 @@ from mercurial import ( scmutil, smartset, state as statemod, + templatekw, util, ) @@ -146,20 +148,12 @@ def _revsetdestautoorphanrebase(repo, su def _ctxdesc(ctx): """short description for a context""" - desc = b'%d:%s "%s"' % ( - ctx.rev(), - ctx, - ctx.description().split(b'\n', 1)[0], + labels_spec = b'join(filter(namespaces % "{ifeq(namespace, "branches", "", join(names, " "))}"), " ")' + spec = b'{rev}:{node|short} "{desc|firstline}"{if(%s, " ({%s})")}' % ( + labels_spec, + labels_spec, ) - repo = ctx.repo() - names = [] - for nsname, ns in pycompat.iteritems(repo.names): - if nsname == b'branches': - continue - names.extend(ns.names(repo, ctx.node())) - if names: - desc += b' (%s)' % b' '.join(names) - return desc + return cmdutil.rendertemplate(ctx, spec) class rebaseruntime(object):