config: handle short continuations (issue1999) stable
authorMatt Mackall <mpm@selenic.com>
Thu, 28 Jan 2010 23:07:28 -0600
branchstable
changeset 10295 44c923eeb81d
parent 10294 d1cd09bb4d18
child 10296 cade47dcac2d
child 10298 4a1034687ef7
child 10304 0824aedd0079
config: handle short continuations (issue1999) Thanks to Greg Ward for spotting and testing
mercurial/config.py
tests/test-hgrc
tests/test-hgrc.out
--- a/mercurial/config.py	Thu Jan 28 22:45:46 2010 -0600
+++ b/mercurial/config.py	Thu Jan 28 23:07:28 2010 -0600
@@ -73,10 +73,10 @@
     def parse(self, src, data, sections=None, remap=None, include=None):
         sectionre = re.compile(r'\[([^\[]+)\]')
         itemre = re.compile(r'([^=\s][^=]*?)\s*=\s*(.*\S|)')
-        contre = re.compile(r'\s+(\S.*\S)')
+        contre = re.compile(r'\s+(\S|\S.*\S)\s*$')
         emptyre = re.compile(r'(;|#|\s*$)')
         unsetre = re.compile(r'%unset\s+(\S+)')
-        includere = re.compile(r'%include\s+(\S.*\S)')
+        includere = re.compile(r'%include\s+(\S|\S.*\S)\s*$')
         section = ""
         item = None
         line = 0
--- a/tests/test-hgrc	Thu Jan 28 22:45:46 2010 -0600
+++ b/tests/test-hgrc	Thu Jan 28 23:07:28 2010 -0600
@@ -23,5 +23,9 @@
 echo '  x = y' >> $HGRCPATH
 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"
 
+python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
+    > $HGRCPATH
+hg showconfig foo
+
 echo '%include /no-such-file' > $HGRCPATH
 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"
--- a/tests/test-hgrc.out	Thu Jan 28 22:45:46 2010 -0600
+++ b/tests/test-hgrc.out	Thu Jan 28 23:07:28 2010 -0600
@@ -11,4 +11,6 @@
 paths.default=.../foo%bar
 ui.slash=True
 hg: config error at $HGRCPATH:8: '  x = y'
+foo.bar=a\nb\nc\nde\nfg
+foo.baz=bif cb
 hg: config error at $HGRCPATH:1: cannot include /no-such-file (No such file or directory)