summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Driessen <me@nvie.com>2016-05-30 21:20:47 +0200
committerVincent Driessen <me@nvie.com>2016-05-30 21:23:45 +0200
commit25844b80c56890abc79423a7a727a129b2b9db85 (patch)
tree3c5e07a681ec8e60c71cc5185f5d8c01cb6ae25b
parent2f91ab7bb0dadfd165031f846ae92c9466dceb66 (diff)
downloadgitpython-25844b80c56890abc79423a7a727a129b2b9db85.tar.gz
Fix regex
This catches the case where the matched line contains "(" or ")" characters.
-rw-r--r--doc/source/changes.rst5
-rw-r--r--git/remote.py2
2 files changed, 6 insertions, 1 deletions
diff --git a/doc/source/changes.rst b/doc/source/changes.rst
index 273b9ad0..6a8e87d0 100644
--- a/doc/source/changes.rst
+++ b/doc/source/changes.rst
@@ -2,6 +2,11 @@
Changelog
=========
+2.0.5 - Fixes
+=============
+
+* Fix: parser of fetch info lines choked on some legitimate lines
+
2.0.4 - Fixes
=============
diff --git a/git/remote.py b/git/remote.py
index 30e32ae3..42753977 100644
--- a/git/remote.py
+++ b/git/remote.py
@@ -204,7 +204,7 @@ class FetchInfo(object):
NEW_TAG, NEW_HEAD, HEAD_UPTODATE, TAG_UPDATE, REJECTED, FORCED_UPDATE, \
FAST_FORWARD, ERROR = [1 << x for x in range(8)]
- re_fetch_result = re.compile("^\s*(.) (\[?[\w\s\.$@]+\]?)\s+(.+) -> ([/\w_\+\.\-$@#]+)( \(.*\)?$)?")
+ re_fetch_result = re.compile("^\s*(.) (\[?[\w\s\.$@]+\]?)\s+(.+) -> ([/\w_\+\.\-$@#()]+)( \(.*\)?$)?")
_flag_map = {'!': ERROR,
'+': FORCED_UPDATE,