split: avoid trying to split an empty commit (issue5191) stable
authorPhilippe Pepiot <philippe.pepiot@logilab.fr>
Sat, 08 Oct 2016 15:49:12 +0200
branchstable
changeset 1739 904ae1b2087b
parent 1735 8f902ec9ed9a
child 1740 e61e019c1360
split: avoid trying to split an empty commit (issue5191)
README
hgext/evolve.py
tests/test-split.t
--- a/README	Mon Sep 12 10:41:00 2016 -0700
+++ b/README	Sat Oct 08 15:49:12 2016 +0200
@@ -59,6 +59,7 @@
 5.4.2 --
 
  - Fix erroneous manifest computation when solving 'bumped' changeset.
+ - split: avoid crash on empty commit (issue5191),
 
 5.4.1 -- 2016-08-01
 
--- a/hgext/evolve.py	Mon Sep 12 10:41:00 2016 -0700
+++ b/hgext/evolve.py	Sat Oct 08 15:49:12 2016 +0200
@@ -2940,11 +2940,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	Mon Sep 12 10:41:00 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