D1094: cmdutil: pass metadata from amend() to cleanupnodes
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Sun Oct 15 14:28:59 UTC 2017
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
`commit --amend` and amend command in core and extensions rely on
cmdutil.amend() for amending a commit. So the logic to add a note to amend must
reside here. This patch assumes that note will be passed in opts dictionary to
the function and it will be passed to cleanupnodes and then createmarkers to
store the note in the obsmarker metadata.
After this patch, note can be stored on an amend changeset by passing notes as a
part of opts to cmdutil.amend().
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1094
AFFECTED FILES
mercurial/cmdutil.py
CHANGE DETAILS
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -3152,7 +3152,10 @@
# Reroute the working copy parent to the new changeset
repo.setparents(newid, nullid)
mapping = {old.node(): (newid,)}
- scmutil.cleanupnodes(repo, mapping, 'amend')
+ obsmetadata = None
+ if opts.get('note'):
+ obsmetadata = {'note': opts['note']}
+ scmutil.cleanupnodes(repo, mapping, 'amend', metadata=obsmetadata)
# Fixing the dirstate because localrepo.commitctx does not update
# it. This is rather convenient because we did not need to update
To: pulkit, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list