From 6917ae4ce9eaa0f5ea91592988c1ea830626ac3a Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 29 Jun 2010 12:10:56 +0200 Subject: Diff: fixed bug that caused a string to end up as a blob mode --- lib/git/objects/base.py | 1 + lib/git/objects/commit.py | 2 ++ lib/git/objects/fun.py | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/git/objects') diff --git a/lib/git/objects/base.py b/lib/git/objects/base.py index 118bc3ca..97b7898c 100644 --- a/lib/git/objects/base.py +++ b/lib/git/objects/base.py @@ -36,6 +36,7 @@ class Object(LazyMixin): super(Object,self).__init__() self.repo = repo self.binsha = binsha + assert len(binsha) == 20, "Require 20 byte binary sha, got %r, len = %i" % (binsha, len(binsha)) @classmethod def new(cls, repo, id): diff --git a/lib/git/objects/commit.py b/lib/git/objects/commit.py index f365c994..f88bb0e8 100644 --- a/lib/git/objects/commit.py +++ b/lib/git/objects/commit.py @@ -105,6 +105,8 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): as what time.altzone returns. The sign is inverted compared to git's UTC timezone.""" super(Commit,self).__init__(repo, binsha) + if tree is not None: + assert isinstance(tree, Tree), "Tree needs to be a Tree instance, was %s" % type(tree) self._set_self_from_args_(locals()) @classmethod diff --git a/lib/git/objects/fun.py b/lib/git/objects/fun.py index 2d0fd634..e56ef8fe 100644 --- a/lib/git/objects/fun.py +++ b/lib/git/objects/fun.py @@ -65,7 +65,6 @@ def tree_entries_from_data(data): i += 1 sha = data[i:i+20] i = i + 20 - out.append((sha, mode, name)) # END for each byte in data stream return out -- cgit v1.2.3