From patchwork Mon Feb 17 03:29:38 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [4, of, 4, V3, RESEND] ui: edit(): transplant: set HGREVISION environment variable for an editor From: Alexander Drozdov X-Patchwork-Id: 3685 Message-Id: To: mercurial-devel@selenic.com Date: Mon, 17 Feb 2014 07:29:38 +0400 # HG changeset patch # User Alexander Drozdov # Date 1392001990 -14400 # Mon Feb 10 07:13:10 2014 +0400 # Node ID e542767e79c75eee903fd03d85818798a1ad4ab8 # Parent 3dc40b4b56301758c818e374df04af72f36bb7de ui: edit(): transplant: set HGREVISION environment variable for an editor transplant command set 'transplant_source' extra for the revision. Allow an editor to access the extra using HGREVISION environment variable. This may be useful when an editor is actually a script which modifies a commit message. Transplant filters is an alternative way to do it. diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -8,6 +8,7 @@ from i18n import _ import errno, getpass, os, socket, sys, tempfile, traceback import config, scmutil, util, error, formatter +from node import hex class ui(object): def __init__(self, src=None): @@ -721,6 +722,8 @@ f.close() environ = {'HGUSER': user} + if 'transplant_source' in extra: + environ.update({'HGREVISION': hex(extra['transplant_source'])}) for label in ('source', 'rebase_source'): if label in extra: environ.update({'HGREVISION': extra[label]})