# HG changeset patch # User Valentin Gatien-Baron # Date 1563791591 14400 # Node ID ce52377102dbeab2f1ad2cef533635574afbcbbc # Parent 464aa857c71766966c5cb5f7ea7b014cf7f02302 amend: stop committing unrequested file reverts (issue6157) Differential Revision: https://phab.mercurial-scm.org/D6667 diff -r 464aa857c717 -r ce52377102db mercurial/cmdutil.py --- 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: diff -r 464aa857c717 -r ce52377102db tests/test-amend.t --- 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(-)