Mercurial > hg-stable
changeset 42418:64ed405dd342
commit: respect --no-edit in combination with --amend
Differential Revision: https://phab.mercurial-scm.org/D6464
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Thu, 30 May 2019 13:57:34 -0700 |
parents | 060ff3396589 |
children | c004340dc687 |
files | mercurial/cmdutil.py tests/test-commit-amend.t |
diffstat | 2 files changed, 9 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Thu May 30 14:14:52 2019 -0700 +++ b/mercurial/cmdutil.py Thu May 30 13:57:34 2019 -0700 @@ -2583,12 +2583,18 @@ message = logmessage(ui, opts) editform = mergeeditform(old, 'commit.amend') - editor = getcommiteditor(editform=editform, - **pycompat.strkwargs(opts)) if not message: - editor = getcommiteditor(edit=True, editform=editform) message = old.description() + # Default if message isn't provided and --edit is not passed is to + # invoke editor, but allow --no-edit. If somehow we don't have any + # description, let's always start the editor. + doedit = not message or opts.get('edit') in [True, None] + else: + # Default if message is provided is to not invoke editor, but allow + # --edit. + doedit = opts.get('edit') is True + editor = getcommiteditor(edit=doedit, editform=editform) pureextra = extra.copy() extra['amend_source'] = old.hex()
--- a/tests/test-commit-amend.t Thu May 30 14:14:52 2019 -0700 +++ b/tests/test-commit-amend.t Thu May 30 13:57:34 2019 -0700 @@ -943,17 +943,7 @@ (We need a file change here since we won't have a message change) $ cp foo foo.orig $ echo hi >> foo -FIXME: This shouldn't start the editor. $ HGEDITOR=cat hg commit --amend --no-edit - editor should be suppressed - - - HG: Enter commit message. Lines beginning with 'HG:' are removed. - HG: Leave message empty to abort commit. - HG: -- - HG: user: test - HG: branch 'silliness' - HG: added foo $ hg parents --template "{desc}\n" editor should be suppressed $ hg status -mar