fake_item = file_item._replace(meta=meta)
wvpasseq(42, vfs.item_size(repo, fake_item))
+ _, fakelink_item = vfs.resolve(repo, '/test/latest', follow=False)[-1]
+ wvpasseq(17, vfs.item_size(repo, fakelink_item))
+
wvstart('augment_item_meta')
run_augment_item_meta_tests(repo,
'/test/latest/file', 7,
target from the repository if necessary."""
assert repo
assert S_ISLNK(item_mode(item))
+ if isinstance(item, FakeLink):
+ return item.target
if isinstance(item.meta, Metadata):
target = item.meta.symlink_target
if target:
return target
- elif isinstance(item, FakeLink):
- return item.target
return _readlink(repo, item.oid)
def _compute_item_size(repo, item):
size = _normal_or_chunked_file_size(repo, item.oid)
return size
if S_ISLNK(mode):
+ if isinstance(item, FakeLink):
+ return len(item.target)
return len(_readlink(repo, item.oid))
return 0