subrepo: ignore blank lines in .hgsubstate (issue3424) stable
authorPatrick Mezard <patrick@mezard.eu>
Fri, 04 May 2012 14:19:52 +0200
branchstable
changeset 16595 2de6ac4ac17c
parent 16594 5516fdf3fe24
child 16596 95ca6c8b38da
subrepo: ignore blank lines in .hgsubstate (issue3424) Reported by Sebastian Krysmanski <infomail@lordb.de>
mercurial/subrepo.py
tests/test-subrepo-missing.t
--- a/mercurial/subrepo.py	Fri May 04 14:36:40 2012 -0400
+++ b/mercurial/subrepo.py	Fri May 04 14:19:52 2012 +0200
@@ -44,6 +44,9 @@
     if '.hgsubstate' in ctx:
         try:
             for l in ctx['.hgsubstate'].data().splitlines():
+                l = l.lstrip()
+                if not l:
+                    continue
                 revision, path = l.split(" ", 1)
                 rev[path] = revision
         except IOError, err:
--- a/tests/test-subrepo-missing.t	Fri May 04 14:36:40 2012 -0400
+++ b/tests/test-subrepo-missing.t	Fri May 04 14:19:52 2012 +0200
@@ -12,6 +12,13 @@
   adding b
   $ hg ci -m updatedsub
 
+ignore blanklines in .hgsubstate
+
+  >>> file('.hgsubstate', 'wb').write('\n\n   \t \n   \n')
+  $ hg st --subrepos
+  M .hgsubstate
+  $ hg revert -qC .hgsubstate
+
 delete .hgsub and revert it
 
   $ rm .hgsub