Comments
Patch
@@ -804,6 +804,7 @@
checking manifests
crosschecking files in changesets and manifests
checking files
+ lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
checked 5 changesets with 10 changes to 4 files
Verify will not try to download lfs blobs, if told not to by the config option
@@ -815,6 +816,7 @@
checking manifests
crosschecking files in changesets and manifests
checking files
+ lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
checked 5 changesets with 10 changes to 4 files
Verify will copy/link all lfs objects into the local store that aren't already
@@ -225,6 +225,21 @@
return orig(self, rev)
+@eh.wrapfunction(revlog, b'_verify_revision')
+def _verify_revision(orig, rl, skipflags, state, node):
+ if _islfs(rl, node=node):
+ rawtext = rl.rawdata(node)
+ metadata = pointer.deserialize(rawtext)
+
+ # Don't skip blobs that are stored locally, as local verification is
+ # relatively cheap and there's no other way to verify the raw data in
+ # the revlog.
+ if rl.opener.lfslocalblobstore.has(metadata.oid()):
+ skipflags &= ~revlog.REVIDX_EXTSTORED
+
+ orig(rl, skipflags, state, node)
+
+
@eh.wrapfunction(context.basefilectx, b'cmp')
def filectxcmp(orig, self, fctx):
"""returns True if text is different than fctx"""
@@ -405,7 +405,8 @@
@eh.wrapcommand(
- b'verify', opts=[(b'', b'no-lfs', None, _(b'skip all lfs blob content'))]
+ b'verify',
+ opts=[(b'', b'no-lfs', None, _(b'skip missing lfs blob content'))],
)
def verify(orig, ui, repo, **opts):
skipflags = repo.ui.configint(b'verify', b'skipflags')