From 04ea692a1b2b603c3ac2fb965d2698217cd842ec Mon Sep 17 00:00:00 2001 From: Davide Guerri Date: Fri, 6 Dec 2013 14:51:21 +0000 Subject: [PATCH] Skip mergetag messages GitPython is unaware of mergetags (parsing of a mergetag crashes GitPython) This fixes Issue #128. --- git/objects/commit.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/git/objects/commit.py b/git/objects/commit.py index fd4187b08..421907e13 100644 --- a/git/objects/commit.py +++ b/git/objects/commit.py @@ -433,9 +433,15 @@ def _deserialize(self, stream): enc = readline() enc = enc.strip() if enc: - self.encoding = enc[enc.find(' ')+1:] - # now comes the message separator - readline() + if enc.startswith('mergetag'): + # skip the whole mergetag message + while enc and len(enc) > 0: + enc = readline() + enc = enc.strip() + else: + self.encoding = enc[enc.find(' ')+1:] + # now comes the message separator + readline() # END handle encoding # decode the authors name