コード例 #1
0
 def _get_object(self, sha, cls):
     assert len(sha) in (20, 40)
     ret = self.get_object(sha)
     if ret._type != cls._type:
         if cls is Commit:
             raise NotCommitError(ret)
         elif cls is Blob:
             raise NotBlobError(ret)
         elif cls is Tree:
             raise NotTreeError(ret)
         else:
             raise Exception("Type invalid: %r != %r" %
                             (ret._type, cls._type))
     return ret
コード例 #2
0
ファイル: repo.py プロジェクト: riverfor/dulwich
 def _get_object(self, sha, cls):
     assert len(sha) in (20, 40)
     ret = self.get_object(sha)
     if not isinstance(ret, cls):
         if cls is Commit:
             raise NotCommitError(ret)
         elif cls is Blob:
             raise NotBlobError(ret)
         elif cls is Tree:
             raise NotTreeError(ret)
         elif cls is Tag:
             raise NotTagError(ret)
         else:
             raise Exception("Type invalid: %r != %r" % (
               ret.type_name, cls.type_name))
     return ret
コード例 #3
0
ファイル: repository.py プロジェクト: bmwiedemann/breezy
    def lookup_foreign_revision_id(self, foreign_revid, mapping=None):
        """Lookup a revision id.

        :param foreign_revid: Foreign revision id to look up
        :param mapping: Mapping to use (use default mapping if not specified)
        :raise KeyError: If foreign revision was not found
        :return: bzr revision id
        """
        if not isinstance(foreign_revid, bytes):
            raise TypeError(foreign_revid)
        if mapping is None:
            mapping = self.get_mapping()
        if foreign_revid == ZERO_SHA:
            return _mod_revision.NULL_REVISION
        commit = self._git.object_store.peel_sha(foreign_revid)
        if not isinstance(commit, Commit):
            raise NotCommitError(commit.id)
        revid = mapping.get_revision_id(commit)
        # FIXME: check testament before doing this?
        return revid
コード例 #4
0
 def from_path(cls, path):
     commit = ShaFile.from_path(path)
     if not isinstance(commit, cls):
         raise NotCommitError(path)
     return commit
コード例 #5
0
ファイル: repo.py プロジェクト: licode/VisTrails
 def _get_commit(self, version="HEAD"):
     commit = self.repo[version]
     if not isinstance(commit, Commit):
         raise NotCommitError(commit)
     return commit