From 25844b80c56890abc79423a7a727a129b2b9db85 Mon Sep 17 00:00:00 2001 From: Vincent Driessen Date: Mon, 30 May 2016 21:20:47 +0200 Subject: Fix regex This catches the case where the matched line contains "(" or ")" characters. --- doc/source/changes.rst | 5 +++++ git/remote.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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, -- cgit v1.2.1