| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -18,6 +18,7 @@ | |||
| 18 | 18 | altz_to_utctz_str, | |
| 19 | 19 | ) | |
| 20 | 20 | from git.compat import ( | |
| 21 | + PY3, | ||
| 21 | 22 | xrange, | |
| 22 | 23 | string_types, | |
| 23 | 24 | defenc | |
@@ -37,6 +38,16 @@ class RefLogEntry(tuple): | |||
| 37 | 38 | ||
| 38 | 39 | def __repr__(self): | |
| 39 | 40 | """Representation of ourselves in git reflog format""" | |
| 41 | + res = self.format() | ||
| 42 | + if PY3: | ||
| 43 | + return res | ||
| 44 | + else: | ||
| 45 | + # repr must return a string, which it will auto-encode from unicode using the default encoding. | ||
| 46 | + # This usually fails, so we encode ourselves | ||
| 47 | + return res.encode(defenc) | ||
| 48 | + | ||
| 49 | + def format(self): | ||
| 50 | + """:return: a string suitable to be placed in a reflog file""" | ||
| 40 | 51 | act = self.actor | |
| 41 | 52 | time = self.time | |
| 42 | 53 | return u"{0} {1} {2} <{3}> {4!s} {5}\t{6}\n".format(self.oldhexsha, | |
@@ -45,7 +56,7 @@ def __repr__(self): | |||
| 45 | 56 | act.email, | |
| 46 | 57 | time[0], | |
| 47 | 58 | altz_to_utctz_str(time[1]), | |
| 48 | - self.message).encode("utf-8") | ||
| 59 | + self.message) | ||
| 49 | 60 | ||
| 50 | 61 | @property | |
| 51 | 62 | def oldhexsha(self): | |
@@ -273,7 +284,7 @@ def append_entry(cls, config_reader, filepath, oldbinsha, newbinsha, message): | |||
| 273 | 284 | lf._obtain_lock_or_raise() | |
| 274 | 285 | fd = open(filepath, 'ab') | |
| 275 | 286 | try: | |
| 276 | - fd.write(repr(entry).encode(defenc)) | ||
| 287 | + fd.write(entry.format().encode(defenc)) | ||
| 277 | 288 | finally: | |
| 278 | 289 | fd.close() | |
| 279 | 290 | lf._release_lock() | |
@@ -298,7 +309,7 @@ def _serialize(self, stream): | |||
| 298 | 309 | ||
| 299 | 310 | # write all entries | |
| 300 | 311 | for e in self: | |
| 301 | - write(repr(e).encode(defenc)) | ||
| 312 | + write(e.format().encode(defenc)) | ||
| 302 | 313 | # END for each entry | |
| 303 | 314 | ||
| 304 | 315 | def _deserialize(self, stream): | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,3 +1,4 @@ | |||
| 1 | + #-*-coding:utf-8-*- | ||
| 1 | 2 | # test_index.py | |
| 2 | 3 | # Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors | |
| 3 | 4 | # | |
@@ -433,7 +434,7 @@ def mixed_iterator(): | |||
| 433 | 434 | # TEST COMMITTING | |
| 434 | 435 | # commit changed index | |
| 435 | 436 | cur_commit = cur_head.commit | |
| 436 | - commit_message = "commit default head" | ||
| 437 | + commit_message = u"commit default head by Frèderic Çaufl€" | ||
| 437 | 438 | ||
| 438 | 439 | new_commit = index.commit(commit_message, head=False) | |
| 439 | 440 | assert cur_commit != new_commit | |
@@ -449,18 +450,19 @@ def mixed_iterator(): | |||
| 449 | 450 | # commit with other actor | |
| 450 | 451 | cur_commit = cur_head.commit | |
| 451 | 452 | ||
| 452 | - my_author = Actor("An author", "author@example.com") | ||
| 453 | - my_committer = Actor("An committer", "committer@example.com") | ||
| 453 | + my_author = Actor(u"Frèderic Çaufl€", "author@example.com") | ||
| 454 | + my_committer = Actor(u"Committing Frèderic Çaufl€", "committer@example.com") | ||
| 454 | 455 | commit_actor = index.commit(commit_message, author=my_author, committer=my_committer) | |
| 455 | 456 | assert cur_commit != commit_actor | |
| 456 | - assert commit_actor.author.name == "An author" | ||
| 457 | + assert commit_actor.author.name == u"Frèderic Çaufl€" | ||
| 457 | 458 | assert commit_actor.author.email == "author@example.com" | |
| 458 | - assert commit_actor.committer.name == "An committer" | ||
| 459 | + assert commit_actor.committer.name == u"Committing Frèderic Çaufl€" | ||
| 459 | 460 | assert commit_actor.committer.email == "committer@example.com" | |
| 460 | 461 | assert commit_actor.message == commit_message | |
| 461 | 462 | assert commit_actor.parents[0] == cur_commit | |
| 462 | 463 | assert len(new_commit.parents) == 1 | |
| 463 | - assert cur_head.commit == cur_commit | ||
| 464 | + assert cur_head.commit == commit_actor | ||
| 465 | + assert cur_head.log()[-1].actor == my_committer | ||
| 464 | 466 | ||
| 465 | 467 | # same index, no parents | |
| 466 | 468 | commit_message = "index without parents" | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -328,7 +328,7 @@ def __str__(self): | |||
| 328 | 328 | return self.name | |
| 329 | 329 | ||
| 330 | 330 | def __repr__(self): | |
| 331 | - return '<git.Actor "%s <%s>">' % (self.name, self.email) | ||
| 331 | + return u'<git.Actor "%s <%s>">' % (self.name, self.email) | ||
| 332 | 332 | ||
| 333 | 333 | @classmethod | |
| 334 | 334 | def _from_string(cls, string): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments