1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-24 23:13:25 +00:00

Fix cache recreation bug

This commit is contained in:
Jonas Borgström 2010-10-17 18:05:46 +02:00
parent 6eb65d07f9
commit e72c558dec
2 changed files with 11 additions and 6 deletions

View file

@ -67,7 +67,6 @@ def save(self, name):
datum_writer = io.DatumWriter(archive_schema) datum_writer = io.DatumWriter(archive_schema)
datum_writer.write(archive, encoder) datum_writer.write(archive, encoder)
data = zlib.compress(writer.getvalue()) data = zlib.compress(writer.getvalue())
print 'archive size: %d' % len(data)
self.id = hashlib.sha256(data).digest() self.id = hashlib.sha256(data).digest()
self.store.put(NS_ARCHIVES, self.id, data) self.store.put(NS_ARCHIVES, self.id, data)
self.store.commit() self.store.commit()

View file

@ -57,11 +57,17 @@ def init(self):
decoder = io.BinaryDecoder(buffer) decoder = io.BinaryDecoder(buffer)
archive = reader.read(decoder) archive = reader.read(decoder)
self.archives[archive['name']] = id self.archives[archive['name']] = id
for id, size in archive['chunks']: for item in archive['items']:
if self.seen_chunk(id): if item['type'] != 'FILE':
self.chunk_incref(id) continue
else: for idx in item['chunks']:
self.init_chunk(id, size) chunk = archive['chunks'][idx]
id = chunk['id']
if self.seen_chunk(id):
self.chunk_incref(id)
else:
self.init_chunk(id, chunk['size'])
self.save()
def save(self): def save(self):
assert self.store.state == self.store.OPEN assert self.store.state == self.store.OPEN