summaryrefslogtreecommitdiff
path: root/git/objects/commit.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/objects/commit.py')
-rw-r--r--git/objects/commit.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/git/objects/commit.py b/git/objects/commit.py
index 9e434c92..000ab3d0 100644
--- a/git/objects/commit.py
+++ b/git/objects/commit.py
@@ -130,7 +130,8 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable):
self.parents = parents
if encoding is not None:
self.encoding = encoding
- self.gpgsig = gpgsig
+ if gpgsig is not None:
+ self.gpgsig = gpgsig
@classmethod
def _get_intermediate_items(cls, commit):
@@ -425,10 +426,13 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable):
if self.encoding != self.default_encoding:
write(("encoding %s\n" % self.encoding).encode('ascii'))
- if self.gpgsig:
- write(b"gpgsig")
- for sigline in self.gpgsig.rstrip("\n").split("\n"):
- write((" " + sigline + "\n").encode('ascii'))
+ try:
+ if self.__getattribute__('gpgsig') is not None:
+ write(b"gpgsig")
+ for sigline in self.gpgsig.rstrip("\n").split("\n"):
+ write((" " + sigline + "\n").encode('ascii'))
+ except AttributeError:
+ pass
write(b"\n")
@@ -473,6 +477,7 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable):
# now we can have the encoding line, or an empty line followed by the optional
# message.
self.encoding = self.default_encoding
+ self.gpgsig = None
# read headers
enc = next_line