def test_reading(self): gdb = PureGitODB(os.path.join(rorepo_dir(), 'objects')) # we have packs and loose objects, alternates doesn't necessarily exist assert 1 < len(gdb.databases()) < 4 # access should be possible git_sha = hex_to_bin("5aebcd5cb3340fb31776941d7e4d518a712a8655") assert isinstance(gdb.info(git_sha), OInfo) assert isinstance(gdb.stream(git_sha), OStream) assert gdb.size() > 200 sha_list = list(gdb.sha_iter()) assert len(sha_list) == gdb.size() # This is actually a test for compound functionality, but it doesn't # have a separate test module # test partial shas # this one as uneven and quite short assert gdb.partial_to_complete_sha_hex('5aebcd') == hex_to_bin( "5aebcd5cb3340fb31776941d7e4d518a712a8655") # mix even/uneven hexshas for i, binsha in enumerate(sha_list[:50]): assert gdb.partial_to_complete_sha_hex( bin_to_hex(binsha)[:8 - (i % 2)]) == binsha # END for each sha self.failUnlessRaises(BadObject, gdb.partial_to_complete_sha_hex, "0000")
def __init__(self, objects_root): """Initalize this instance""" PureGitODB.__init__(self, objects_root) if hasattr(self, 'working_dir'): wd = self.working_dir else: wd = os.path.dirname(os.path.dirname(objects_root)) # END try to figure out good entry for dulwich, which doesn't do an extensive search self._dw_repo = DulwichRepo(wd)
def __init__(self, objects_root): """Initalize this instance""" PureGitODB.__init__(self, objects_root) if hasattr(self, 'working_dir'): wd = self.working_dir else: wd = os.path.dirname(os.path.dirname(objects_root)) #END try to figure out good entry for dulwich, which doesn't do an extensive search self._dw_repo = DulwichRepo(wd)
def test_reading(self): gdb = PureGitODB(os.path.join(rorepo_dir(), 'objects')) # we have packs and loose objects, alternates doesn't necessarily exist assert 1 < len(gdb.databases()) < 4 # access should be possible git_sha = hex_to_bin("5aebcd5cb3340fb31776941d7e4d518a712a8655") assert isinstance(gdb.info(git_sha), OInfo) assert isinstance(gdb.stream(git_sha), OStream) assert gdb.size() > 200 sha_list = list(gdb.sha_iter()) assert len(sha_list) == gdb.size() # This is actually a test for compound functionality, but it doesn't # have a separate test module # test partial shas # this one as uneven and quite short assert gdb.partial_to_complete_sha_hex('5aebcd') == hex_to_bin("5aebcd5cb3340fb31776941d7e4d518a712a8655") # mix even/uneven hexshas for i, binsha in enumerate(sha_list[:50]): assert gdb.partial_to_complete_sha_hex(bin_to_hex(binsha)[:8-(i%2)]) == binsha # END for each sha self.failUnlessRaises(BadObject, gdb.partial_to_complete_sha_hex, "0000")
def __init__(self, objects_root): """Initalize this instance""" PureGitODB.__init__(self, objects_root) if hasattr(self, 'git_dir'): wd = self.git_dir else: wd = os.path.dirname(objects_root) #END try to figure out good entry for pygit2 - it needs the .gitdir print objects_root print wd self._py2_repo = Pygit2Repo(wd)
def test_writing(self, path): gdb = PureGitODB(path) # its possible to write objects self._assert_object_writing(gdb) self._assert_object_writing_async(gdb)