[PATCH 4 of 4] transplant: add a "transplant" field on default (verbose) default log
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sat Jun 11 12:32:02 UTC 2011
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1307795152 -7200
# Node ID 4a1b4c1165b2a5e6d5f970d256aa5628b20bcba7
# Parent 12dce6407671dc3b52bd84d907e6bfeff14b407a
transplant: add a "transplant" field on default (verbose) default log.
diff -r 12dce6407671 -r 4a1b4c1165b2 hgext/transplant.py
--- a/hgext/transplant.py Sat Jun 11 14:25:51 2011 +0200
+++ b/hgext/transplant.py Sat Jun 11 14:25:52 2011 +0200
@@ -19,6 +19,7 @@
from mercurial import bundlerepo, hg, merge, match
from mercurial import patch, revlog, scmutil, util, error, cmdutil
from mercurial import revset, templatekw
+from mercurial import extensions
cmdtable = {}
command = cmdutil.command(cmdtable)
@@ -624,9 +625,24 @@
n = ctx.extra().get('transplant_source')
return n and revlog.hex(n) or ''
+def transplantlogfield(orig, self, ctx, *args, **kwargs):
+ """Function to hook in the default changeset formater
+
+ This add a "mq-patch:" field to default changeset output (et log or out).
+ """
+ fields = orig(self, ctx, *args, **kwargs)
+ if self.ui.verbose:
+ source = ctx.extra().get('transplant_source')
+ if source:
+ ctxsrc = self.repo[source]
+ src = "%d:%s" % (ctxsrc.rev(), short(ctxsrc.node()))
+ fields.append(('transplant', src, 'ui.note log.transplant_source'))
+ return fields
+
def extsetup(ui):
revset.symbols['transplanted'] = revsettransplanted
templatekw.keywords['transplanted'] = kwtransplanted
+ extensions.wrapfunction(cmdutil.changeset_printer, 'extensionsfields', transplantlogfield)
# tell hggettext to extract docstrings from these functions:
i18nfunctions = [revsettransplanted, kwtransplanted]
diff -r 12dce6407671 -r 4a1b4c1165b2 tests/test-transplant.t
--- a/tests/test-transplant.t Sat Jun 11 14:25:51 2011 +0200
+++ b/tests/test-transplant.t Sat Jun 11 14:25:52 2011 +0200
@@ -69,6 +69,27 @@
"transplanted([set])"
Transplanted changesets in set, or all transplanted changesets.
+test log field
+
+ $ hg log -r 5
+ changeset: 5:e234d668f844
+ parent: 1:d11e3596cc1a
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: b1
+
+ $ hg log -r 5 -v
+ changeset: 5:e234d668f844
+ parent: 1:d11e3596cc1a
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ transplant: 2:37a1297eb21b
+ files: b1
+ description:
+ b1
+
+
+
test tranplanted keyword
$ hg log --template '{rev} {transplanted}\n'
More information about the Mercurial-devel
mailing list