diff --git a/hgext/absorb.py b/hgext/absorb.py --- a/hgext/absorb.py +++ b/hgext/absorb.py @@ -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) diff --git a/tests/test-absorb-edit-lines.t b/tests/test-absorb-edit-lines.t --- a/tests/test-absorb-edit-lines.t +++ b/tests/test-absorb-edit-lines.t @@ -15,10 +15,10 @@ absorb --edit-lines will run the editor if filename is provided: - $ hg absorb --edit-lines --apply-changes + $ hg absorb --edit-lines nothing applied [1] - $ HGEDITOR=cat hg absorb --edit-lines --apply-changes a + $ HGEDITOR=cat hg absorb --edit-lines a HG: editing a HG: "y" means the line to the right exists in the changeset to the top HG: @@ -43,7 +43,7 @@ > y : f > yyy : g > EOF - $ HGEDITOR='cat editortext >' hg absorb -q --edit-lines --apply-changes a + $ HGEDITOR='cat editortext >' hg absorb -q --edit-lines a $ hg cat -r 0 a d e