[Request] [+ ] D12573: amend: don't remove unselected removals from memctx
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Tue Apr 19 04:27:25 UTC 2022
martinvonz created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
When there are removed files in the working copy and they are not
selected to be amended into the parent, the `filectxfn` we create for
the `memctx` would still return `None` before this patch. That's
clearly incorrect; we should return the `filectx` from the unamended
commit. Somehow it seems to not matter much except for the case with
copies stored in changesets.
Thanks to Kyle Lippincott for doing all the debugging and identifying
the fix for this issue.
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D12573
AFFECTED FILES
mercurial/cmdutil.py
tests/test-copies-in-changeset.t
CHANGE DETAILS
diff --git a/tests/test-copies-in-changeset.t b/tests/test-copies-in-changeset.t
--- a/tests/test-copies-in-changeset.t
+++ b/tests/test-copies-in-changeset.t
@@ -331,8 +331,8 @@
A l
$ echo modified >> a
$ hg rm l
- $ hg commit --amend a 2>&1 | grep AttributeError
- AttributeError: 'NoneType' object has no attribute 'renamed' (known-bad-output !)
+ $ hg commit --amend a
+ saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-*-amend.hg (glob)
$ cd ..
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2935,7 +2935,7 @@
def filectxfn(repo, ctx_, path):
try:
# Return None for removed files.
- if path in wctx.removed():
+ if path in wctx.removed() and path in filestoamend:
return None
# If the file being considered is not amongst the files
To: martinvonz, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20220419/fd549c93/attachment-0001.html>
More information about the Mercurial-patches
mailing list