diff hgext/absorb.py @ 49072:3cd57e2be49b

absorb: make `--edit-lines` imply `--apply-changes` One of our users tried to use `hg absorb -e` but it seemed that it would only bring up the editor if there were no changes the command could automatically detect destination for. I spent probably half an hour debugging why it worked that way. I finally figured out that it does bring up the editor, but you have to answer "yes" to the "apply changes" prompt *first*. That seems very unintuitive. If the user wants to edit the changes, there seems to be little reason to present them with a prompt first, so let's have `-e/--edit-lines` imply `-a/--apply-changes`. All the tests using `-e` also already used `-a`. I changed them to rely on the implied `-a` so we get coverage of that. Differential Revision: https://phab.mercurial-scm.org/D12550
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 13 Apr 2022 07:58:49 -0700
parents 0f0e3830c099
children d44e3c45f0e4
line wrap: on
line diff
--- a/hgext/absorb.py	Wed Apr 13 14:40:11 2022 +0100
+++ b/hgext/absorb.py	Wed Apr 13 07:58:49 2022 -0700
@@ -1045,6 +1045,10 @@
         origchunks = patch.parsepatch(diff)
         chunks = cmdutil.recordfilter(ui, origchunks, matcher)[0]
         targetctx = overlaydiffcontext(stack[-1], chunks)
+    if opts.get(b'edit_lines'):
+        # If we're going to open the editor, don't ask the user to confirm
+        # first
+        opts[b'apply_changes'] = True
     fm = None
     if opts.get(b'print_changes') or not opts.get(b'apply_changes'):
         fm = ui.formatter(b'absorb', opts)