mirror of
https://github.com/borgbackup/borg.git
synced 2025-03-06 11:40:31 +00:00
fuse: refactor file versioning code
This commit is contained in:
parent
5d22078f35
commit
001500ab99
1 changed files with 5 additions and 4 deletions
|
@ -162,17 +162,18 @@ class FuseOperations(llfuse.Operations):
|
|||
self.process_leaf(segments[-1], item, parent, prefix, is_dir)
|
||||
|
||||
def process_leaf(self, name, item, parent, prefix, is_dir):
|
||||
def version_name(name, item):
|
||||
def file_version(item):
|
||||
if 'chunks' in item:
|
||||
ident = 0
|
||||
for chunkid, _, _ in item.chunks:
|
||||
ident = adler32(chunkid, ident)
|
||||
name = name + safe_encode('.%08x' % ident)
|
||||
return name
|
||||
return ident
|
||||
|
||||
if self.versions and not is_dir:
|
||||
parent = self.process_inner(name, parent)
|
||||
name = version_name(name, item)
|
||||
version = file_version(item)
|
||||
if version is not None:
|
||||
name += safe_encode('.%08x' % version)
|
||||
|
||||
if 'source' in item and stat.S_ISREG(item.mode):
|
||||
inode = self._find_inode(item.source, prefix)
|
||||
|
|
Loading…
Add table
Reference in a new issue