summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git/config.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/git/config.py b/git/config.py
index 64031fdb..620f7b10 100644
--- a/git/config.py
+++ b/git/config.py
@@ -254,9 +254,14 @@ class GitConfigParser(cp.RawConfigParser, object):
if not escaped and c == '"':
in_quote = not in_quote
else:
- escaped = (c == '\\')
+ escaped = (c == '\\') and not escaped
unquoted_optval += c
+ if in_quote:
+ if not e:
+ e = cp.ParsingError(fpname)
+ e.append(lineno, repr(line))
+
optval = unquoted_optval
optval = optval.replace('\\\\', '\\') # Unescape backslashes