diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2009-10-14 19:34:45 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2009-10-14 19:34:45 +0200 |
commit | 6745f4542cfb74bbf3b933dba7a59ef2f54a4380 (patch) | |
tree | f897c537764a329dd9f09fa915b1bedc585bac62 /lib/git/objects/base.py | |
parent | a28d3d18f9237af5101eb22e506a9ddda6d44025 (diff) | |
download | gitpython-6745f4542cfb74bbf3b933dba7a59ef2f54a4380.tar.gz |
test_blob: removed many redundant tests that would fail now as the mock cannot handle the complexity of the command backend
All objects but Tree now use the persistent command to read their object information - Trees get binary data and would need their own pretty-printing or they need to parse the data themselves which is my favorite
Diffstat (limited to 'lib/git/objects/base.py')
-rw-r--r-- | lib/git/objects/base.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/git/objects/base.py b/lib/git/objects/base.py index 9789d72a..7b693be9 100644 --- a/lib/git/objects/base.py +++ b/lib/git/objects/base.py @@ -48,9 +48,13 @@ class Object(LazyMixin): Retrieve object information """ if attr == "size": - self.size = int(self.repo.git.cat_file(self.id, s=True).rstrip()) + typename, self.size = self.repo.git.get_object_header(self.id) + assert typename == self.type, "Created object whose python type %r disagrees with the acutal git object type %r" % (typename, self.type) elif attr == "data": - self.data = self.repo.git.cat_file(self.id, p=True, with_raw_output=True) + typename, self.size, self.data = self.repo.git.get_object_data(self.id) + assert typename == self.type, "Created object whose python type %r disagrees with the acutal git object type %r" % (typename, self.type) + else: + super(Object,self)._set_cache_(attr) def __eq__(self, other): """ |