Mercurial > hg-stable
changeset 10295:44c923eeb81d stable
config: handle short continuations (issue1999)
Thanks to Greg Ward for spotting and testing
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 28 Jan 2010 23:07:28 -0600 |
parents | d1cd09bb4d18 |
children | cade47dcac2d 4a1034687ef7 0824aedd0079 |
files | mercurial/config.py tests/test-hgrc tests/test-hgrc.out |
diffstat | 3 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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)