import struct
+from dulwich.objects import sha_to_hex, hex_to_sha
+
+
def read_cache_time(f):
return struct.unpack(">LL", f.read(8))
# Padding:
real_size = ((f.tell() - beginoffset + 7) & ~7)
f.seek(beginoffset + real_size)
- return (name, ctime, mtime, ino, dev, mode, uid, gid, size, sha, flags)
+ return (name, ctime, mtime, ino, dev, mode, uid, gid, size,
+ sha_to_hex(sha), flags)
def write_cache_entry(f, entry):
(name, ctime, mtime, ino, dev, mode, uid, gid, size, sha, flags) = entry
write_cache_time(f, ctime)
write_cache_time(f, mtime)
- f.write(struct.pack(">LLLLLL20sH", ino, dev, mode, uid, gid, size, sha, flags))
+ f.write(struct.pack(">LLLLLL20sH", ino, dev, mode, uid, gid, size, hex_to_sha(sha), flags))
f.write(name)
f.write(chr(0))
real_size = ((f.tell() - beginoffset + 7) & ~7)
self.assertEquals(['bla'], list(self.get_simple_index("index")))
def test_getitem(self):
- self.assertEquals( ((1230680220, 0), (1230680220, 0), 2050, 3761020, 33188, 1000, 1000, 0, '\xe6\x9d\xe2\x9b\xb2\xd1\xd6CK\x8b)\xaewZ\xd8\xc2\xe4\x8cS\x91', 3)
+ self.assertEquals( ((1230680220, 0), (1230680220, 0), 2050, 3761020, 33188, 1000, 1000, 0, 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 3)
,
self.get_simple_index("index")["bla"])
class SimpleIndexWriterTestCase(IndexTestCase):
def test_simple_write(self):
- entries = [('barbla', (1230680220, 0), (1230680220, 0), 2050, 3761020, 33188, 1000, 1000, 0, '\xe6\x9d\xe2\x9b\xb2\xd1\xd6CK\x8b)\xaewZ\xd8\xc2\xe4\x8cS\x91', 3)]
+ entries = [('barbla', (1230680220, 0), (1230680220, 0), 2050, 3761020, 33188, 1000, 1000, 0, 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', 3)]
x = open('test-simple-write-index', 'w+')
try:
write_index(x, entries)