D6354: absorb: be more specific when erroring out on merge commit
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Thu May 9 06:07:07 EDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGb3fc78c028ef: absorb: be more specific when erroring out on merge commit (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6354?vs=15042&id=15044
REVISION DETAIL
https://phab.mercurial-scm.org/D6354
AFFECTED FILES
hgext/absorb.py
tests/test-absorb.t
CHANGE DETAILS
diff --git a/tests/test-absorb.t b/tests/test-absorb.t
--- a/tests/test-absorb.t
+++ b/tests/test-absorb.t
@@ -176,7 +176,7 @@
b2 2:c9b20c925790
* ba 2:c9b20c925790
-Non-mofified files are ignored:
+Non-modified files are ignored:
$ touch b
$ hg commit -A b -m b
@@ -225,10 +225,15 @@
2: 4d
2: insert aftert 4d
+ $ hg co -qC 1
+ $ sedi 's/Insert/insert/' a
+ $ hg absorb --apply-changes
+ abort: no mutable changeset to change
+ [255]
+
Make working copy clean:
- $ hg revert -q -C a b
- $ hg forget c
+ $ hg co -qC ba
$ rm c
$ hg status
@@ -261,7 +266,7 @@
$ echo 2 >> m1
$ echo 2 >> m2
$ hg absorb --apply-changes
- abort: no mutable changeset to change
+ abort: cannot absorb into a merge
[255]
$ hg revert -q -C m1 m2
diff --git a/hgext/absorb.py b/hgext/absorb.py
--- a/hgext/absorb.py
+++ b/hgext/absorb.py
@@ -914,7 +914,10 @@
"""
if stack is None:
limit = ui.configint('absorb', 'max-stack-size')
- stack = getdraftstack(repo['.'], limit)
+ headctx = repo['.']
+ if len(headctx.parents()) > 1:
+ raise error.Abort(_('cannot absorb into a merge'))
+ stack = getdraftstack(headctx, limit)
if limit and len(stack) >= limit:
ui.warn(_('absorb: only the recent %d changesets will '
'be analysed\n')
To: martinvonz, #hg-reviewers, pulkit
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list