diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2016-07-17 10:31:53 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2016-07-17 10:31:53 +0200 |
commit | 2ff3a3e72b1ff79e75777ccdddc86f8540ce833d (patch) | |
tree | 2102ac009f351063b63f740b7d148158f8ae4a52 | |
parent | 0ed3cd7f798057c02799b6046987ed6a2e313126 (diff) | |
download | gitpython-2ff3a3e72b1ff79e75777ccdddc86f8540ce833d.tar.gz |
fix(blame): lazily fetch full commit message
That way, we will not only get the summary line
contained in the blame, but fetch the full message.
This is more costly than the previous implementation
allowed it to be, but being less surprising/correct
certainly is the preferred behaviour here.
Fixes #485
-rw-r--r-- | git/repo/base.py | 6 | ||||
-rw-r--r-- | git/test/test_repo.py | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/git/repo/base.py b/git/repo/base.py index 282dfc15..61864060 100644 --- a/git/repo/base.py +++ b/git/repo/base.py @@ -714,8 +714,7 @@ class Repo(object): authored_date=int(props[b'author-time']), committer=Actor(safe_decode(props[b'committer']), safe_decode(props[b'committer-mail'].lstrip(b'<').rstrip(b'>'))), - committed_date=int(props[b'committer-time']), - message=safe_decode(props[b'summary'])) + committed_date=int(props[b'committer-time'])) commits[hexsha] = c else: # Discard the next line (it's a filename end tag) @@ -815,8 +814,7 @@ class Repo(object): authored_date=info['author_date'], committer=Actor._from_string( info['committer'] + ' ' + info['committer_email']), - committed_date=info['committer_date'], - message=info['summary']) + committed_date=info['committer_date']) commits[sha] = c # END if commit objects needs initial creation if not is_binary: diff --git a/git/test/test_repo.py b/git/test/test_repo.py index fc8125fa..87887bad 100644 --- a/git/test/test_repo.py +++ b/git/test/test_repo.py @@ -307,7 +307,7 @@ class TestRepo(TestBase): assert_equal('Tom Preston-Werner', c.committer.name) assert_equal('tom@mojombo.com', c.committer.email) assert_equal(1191997100, c.committed_date) - assert_equal('initial grit setup', c.message) + self.assertRaisesRegexp(ValueError, "634396b2f541a9f2d58b00be1a07f0c358b999b3 missing", lambda: c.message) # test the 'lines per commit' entries tlist = b[0][1] |