# HG changeset patch # User Danny Hooper # Date 1544762365 28800 # Node ID e993a86cfcb8842632879fb8823edb6c189f52d8 # Parent 52fbf8a9907cf7ba6f4caffea7d8ec2a72c31585 absorb: don't prompt to apply changes when there are none to apply Differential Revision: https://phab.mercurial-scm.org/D5428 diff -r 52fbf8a9907c -r e993a86cfcb8 hgext/absorb.py --- a/hgext/absorb.py Fri Dec 14 21:00:33 2018 +0300 +++ b/hgext/absorb.py Thu Dec 13 20:39:25 2018 -0800 @@ -971,9 +971,10 @@ label='absorb.description') fm.end() if not opts.get('dry_run'): - if not opts.get('apply_changes'): - if ui.promptchoice("apply changes (yn)? $$ &Yes $$ &No", default=1): - raise error.Abort(_('absorb cancelled\n')) + if (not opts.get('apply_changes') and + state.ctxaffected and + ui.promptchoice("apply changes (yn)? $$ &Yes $$ &No", default=1)): + raise error.Abort(_('absorb cancelled\n')) state.apply() if state.commit(): diff -r 52fbf8a9907c -r e993a86cfcb8 tests/test-absorb.t --- a/tests/test-absorb.t Fri Dec 14 21:00:33 2018 +0300 +++ b/tests/test-absorb.t Thu Dec 13 20:39:25 2018 -0800 @@ -129,6 +129,20 @@ nothing applied [1] +The prompt is not given if there are no changes to be applied, even if there +are some changes that won't be applied: + + $ hg absorb + showing changes for a + @@ -0,2 +0,1 @@ + -2b + -4d + +1 + + 0 changesets affected + nothing applied + [1] + Insertaions: $ cat > a << EOF