--- a/hgext/split.py Mon Apr 12 17:52:46 2021 -0700
+++ b/hgext/split.py Mon Apr 12 19:25:34 2021 -0700
@@ -182,12 +182,15 @@
if not committed:
raise error.InputError(_(b'cannot split an empty revision'))
- scmutil.cleanupnodes(
- repo,
- {ctx.node(): [c.node() for c in committed]},
- operation=b'split',
- fixphase=True,
- )
+ if len(committed) != 1 or committed[0].node() != ctx.node():
+ # Ensure we don't strip a node if we produce the same commit as already
+ # exists
+ scmutil.cleanupnodes(
+ repo,
+ {ctx.node(): [c.node() for c in committed]},
+ operation=b'split',
+ fixphase=True,
+ )
return committed[-1]