split: avoid trying to split an empty commit (issue5191)
authorPhilippe Pepiot <philippe.pepiot@logilab.fr>
Sat, 08 Oct 2016 15:49:12 +0200
changeset 1738 cb5edd4b160c
parent 1737 5383671ef612
child 1743 299cdaa24fa5
split: avoid trying to split an empty commit (issue5191)
hgext/evolve.py
tests/test-split.t
--- a/hgext/evolve.py	Thu Sep 22 09:15:30 2016 -0700
+++ b/hgext/evolve.py	Sat Oct 08 15:49:12 2016 +0200
@@ -2932,11 +2932,12 @@
             else:
                 ui.status(_("no more change to split\n"))
 
-        tip = repo[newcommits[-1]]
-        bmupdate(tip.node())
-        if bookactive is not None:
-            bmactivate(repo, bookactive)
-        obsolete.createmarkers(repo, [(repo[r], newcommits)])
+        if newcommits:
+            tip = repo[newcommits[-1]]
+            bmupdate(tip.node())
+            if bookactive is not None:
+                bmactivate(repo, bookactive)
+            obsolete.createmarkers(repo, [(repo[r], newcommits)])
         tr.close()
     finally:
         lockmod.release(tr, lock, wlock)
--- a/tests/test-split.t	Thu Sep 22 09:15:30 2016 -0700
+++ b/tests/test-split.t	Sat Oct 08 15:49:12 2016 +0200
@@ -378,3 +378,10 @@
   (use either `hg split <rs>` or `hg split --rev <rs>`, not both)
   [255]
 
+Split empty commit (issue5191)
+  $ hg branch new-branch
+  marked working directory as branch new-branch
+  (branches are permanent and global, did you want a bookmark?)
+  $ hg commit -m "empty"
+  $ hg split
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved