summaryrefslogtreecommitdiff
path: root/git/objects/commit.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2015-01-05 16:10:50 +0100
committerSebastian Thiel <byronimo@gmail.com>2015-01-05 16:10:50 +0100
commit3d0556a31916a709e9da3eafb92fc6b8bf69896c (patch)
tree72a090924638d495f98ea3ece71fdd22dcacc4d2 /git/objects/commit.py
parent04357d0d46fee938a618b64daed1716606e05ca5 (diff)
downloadgitpython-3d0556a31916a709e9da3eafb92fc6b8bf69896c.tar.gz
Added test of #147 to verify it works.
Applied a few more fixes to commit implementation, possibly not the last
Diffstat (limited to 'git/objects/commit.py')
-rw-r--r--git/objects/commit.py25
1 files changed, 9 insertions, 16 deletions
diff --git a/git/objects/commit.py b/git/objects/commit.py
index 79d460ad..5ad7902b 100644
--- a/git/objects/commit.py
+++ b/git/objects/commit.py
@@ -373,40 +373,33 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable):
def _serialize(self, stream):
write = stream.write
- write("tree %s\n" % self.tree)
+ write(("tree %s\n" % self.tree).encode('ascii'))
for p in self.parents:
- write("parent %s\n" % p)
+ write(("parent %s\n" % p).encode('ascii'))
a = self.author
aname = a.name
- if isinstance(aname, text_type):
- aname = aname.encode(self.encoding)
- # END handle unicode in name
-
c = self.committer
fmt = "%s %s <%s> %s %s\n"
- write(fmt % ("author", aname, a.email,
+ write((fmt % ("author", aname, a.email,
self.authored_date,
- altz_to_utctz_str(self.author_tz_offset)))
+ altz_to_utctz_str(self.author_tz_offset))).encode(self.encoding))
# encode committer
aname = c.name
- if isinstance(aname, text_type):
- aname = aname.encode(self.encoding)
- # END handle unicode in name
- write(fmt % ("committer", aname, c.email,
+ write((fmt % ("committer", aname, c.email,
self.committed_date,
- altz_to_utctz_str(self.committer_tz_offset)))
+ altz_to_utctz_str(self.committer_tz_offset))).encode(self.encoding))
if self.encoding != self.default_encoding:
- write("encoding %s\n" % self.encoding)
+ write(("encoding %s\n" % self.encoding).encode('ascii'))
if self.gpgsig:
write("gpgsig")
for sigline in self.gpgsig.rstrip("\n").split("\n"):
- write(" " + sigline + "\n")
+ write((" " + sigline + "\n").encode('ascii'))
- write("\n")
+ write(b"\n")
# write plain bytes, be sure its encoded according to our encoding
if isinstance(self.message, text_type):