From 968ffb2c2e5c6066a2b01ad2a0833c2800880d46 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 24 Nov 2010 21:33:36 +0100 Subject: Adjusted all Head.create calls to set a logmessage similar to the one git uses --- objects/commit.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'objects/commit.py') 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() -- cgit v1.2.1 From b81273e70c9c31ae02cb0a2d6e697d7a4e2b683a Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 24 Nov 2010 22:05:05 +0100 Subject: Adjusted remaining usages of set_reference and set_commit to set a logmessage --- objects/commit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'objects/commit.py') diff --git a/objects/commit.py b/objects/commit.py index 883d6a6c..69a3adc4 100644 --- a/objects/commit.py +++ b/objects/commit.py @@ -356,7 +356,7 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): # Happens on first commit import git.refs master = git.refs.Head.create(repo, repo.head.ref, commit=new_commit, logmsg="commit (initial): %s" % message) - repo.head.reference = master + repo.head.set_reference(master, logmsg='commit: Switching to %s' % master) # END handle empty repositories # END advance head handling -- cgit v1.2.1