amend: stop committing unrequested file reverts (issue6157)
Differential Revision: https://phab.mercurial-scm.org/D6667
--- a/mercurial/cmdutil.py Mon Jul 22 06:33:00 2019 -0400
+++ b/mercurial/cmdutil.py Mon Jul 22 06:33:11 2019 -0400
@@ -2505,8 +2505,8 @@
# was removed, it's no longer relevant. If X is missing (aka
# deleted), old X must be preserved.
files.update(filestoamend)
- files = [f for f in files if (not samefile(f, wctx, base)
- or f in wctx.deleted())]
+ files = [f for f in files if (f not in filestoamend
+ or not samefile(f, wctx, base))]
def filectxfn(repo, ctx_, path):
try:
--- a/tests/test-amend.t Mon Jul 22 06:33:00 2019 -0400
+++ b/tests/test-amend.t Mon Jul 22 06:33:11 2019 -0400
@@ -456,7 +456,7 @@
- working copy parent has a change to file `a`
- working copy has the inverse change
- we amend the working copy parent for files other than `a`
-hg includes the changes to `a` anyway.
+hg used to include the changes to `a` anyway.
$ hg init 6157; cd 6157
$ echo a > a; echo b > b; hg commit -qAm_
@@ -466,5 +466,6 @@
1 files changed, 1 insertions(+), 1 deletions(-)
$ echo a > a; echo b2 > b; hg amend -q b
$ hg diff --stat -c .
+ a | 2 +-
b | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ 2 files changed, 2 insertions(+), 2 deletions(-)