diff --git a/hgext/largefiles/localstore.py b/hgext/largefiles/localstore.py --- a/hgext/largefiles/localstore.py +++ b/hgext/largefiles/localstore.py @@ -47,7 +47,10 @@ class localstore(basestore.basestore): def _verifyfiles(self, contents, filestocheck): failed = False for cset, filename, expectedhash in filestocheck: - storepath, exists = lfutil.findstorepath(self.remote, expectedhash) + storepath, exists = lfutil.findstorepath(self.repo, expectedhash) + if not exists: + storepath, exists = lfutil.findstorepath( + self.remote, expectedhash) if not exists: self.ui.warn( _('changeset %s: %s references missing %s\n') diff --git a/tests/test-largefiles-wireproto.t b/tests/test-largefiles-wireproto.t --- a/tests/test-largefiles-wireproto.t +++ b/tests/test-largefiles-wireproto.t @@ -149,6 +149,14 @@ largefiles clients refuse to push largef $ hg commit -m "m2" Invoking status precommit hook A f2 + $ hg verify --large + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 2 changesets, 2 total revisions + searching 1 changesets for largefiles + verified existence of 1 revisions of 1 largefiles $ hg serve --config extensions.largefiles=! -R ../r6 -d -p $HGPORT --pid-file ../hg.pid $ cat ../hg.pid >> $DAEMON_PIDS $ hg push http://localhost:$HGPORT diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t --- a/tests/test-largefiles.t +++ b/tests/test-largefiles.t @@ -1536,8 +1536,11 @@ revert some files to an older revision searching 1 changesets for largefiles verified existence of 3 revisions of 3 largefiles -- introduce missing blob in local store repo and make sure that this is caught: +- introduce missing blob in local store repo and remote store +and make sure that this is caught: + $ mv $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 . + $ rm .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 $ hg verify --large checking changesets checking manifests @@ -1556,7 +1559,8 @@ revert some files to an older revision [1] - cleanup - $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/ + $ cp e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/ + $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 .hg/largefiles/ - verifying all revisions will fail because we didn't clone all largefiles to d: $ echo 'T-shirt' > $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4