diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-11-24 21:33:36 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-11-24 21:33:36 +0100 |
commit | 968ffb2c2e5c6066a2b01ad2a0833c2800880d46 (patch) | |
tree | a5f0b7417f39364d83409edf4d382c6a8c36ff49 /objects/commit.py | |
parent | 3175b5b21194bcc8f4448abe0a03a98d3a4a1360 (diff) | |
download | gitpython-968ffb2c2e5c6066a2b01ad2a0833c2800880d46.tar.gz |
Adjusted all Head.create calls to set a logmessage similar to the one git uses
Diffstat (limited to 'objects/commit.py')
-rw-r--r-- | objects/commit.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/objects/commit.py b/objects/commit.py index 9c7e66a3..883d6a6c 100644 --- a/objects/commit.py +++ b/objects/commit.py @@ -350,12 +350,12 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): # as well ... import git.refs try: - repo.head.commit = new_commit + repo.head.set_commit(new_commit, logmsg="commit: %s" % message) except ValueError: # head is not yet set to the ref our HEAD points to # Happens on first commit import git.refs - master = git.refs.Head.create(repo, repo.head.ref, commit=new_commit) + master = git.refs.Head.create(repo, repo.head.ref, commit=new_commit, logmsg="commit (initial): %s" % message) repo.head.reference = master # END handle empty repositories # END advance head handling @@ -382,7 +382,12 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): self.authored_date, altz_to_utctz_str(self.author_tz_offset))) - write(fmt % ("committer", c.name, c.email, + # encode committer + aname = c.name + if isinstance(aname, unicode): + aname = aname.encode(self.encoding) + # END handle unicode in name + write(fmt % ("committer", aname, c.email, self.committed_date, altz_to_utctz_str(self.committer_tz_offset))) @@ -440,6 +445,13 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): print >> sys.stderr, "Failed to decode author name '%s' using encoding %s" % (self.author.name, self.encoding) # END handle author's encoding + # decode committer name + try: + self.committer.name = self.committer.name.decode(self.encoding) + except UnicodeDecodeError: + print >> sys.stderr, "Failed to decode committer name '%s' using encoding %s" % (self.committer.name, self.encoding) + # END handle author's encoding + # a stream from our data simply gives us the plain message # The end of our message stream is marked with a newline that we strip self.message = stream.read() |