diff --git a/hgext/largefiles/remotestore.py b/hgext/largefiles/remotestore.py --- a/hgext/largefiles/remotestore.py +++ b/hgext/largefiles/remotestore.py @@ -74,7 +74,7 @@ class remotestore(basestore.basestore): return lfutil.copyandhash(lfutil.blockstream(infile), tmpfile) def _verify(self, hashes): - return self._stat(hashes) + return dict((h, s == 0) for (h, s) in self._stat(hashes).iteritems()) def _verifyfile(self, cctx, cset, contents, standin, verified): filename = lfutil.splitstandin(standin) diff --git a/hgext/largefiles/wirestore.py b/hgext/largefiles/wirestore.py --- a/hgext/largefiles/wirestore.py +++ b/hgext/largefiles/wirestore.py @@ -26,6 +26,8 @@ class wirestore(remotestore.remotestore) return self.remote.getlfile(hash) def _stat(self, hashes): + '''For each hash, return 2 if the largefile is missing, 1 if it has a + mismatched checksum, or 0 if it is in good condition''' batch = self.remote.batch() futures = {} for hash in hashes: @@ -33,5 +35,5 @@ class wirestore(remotestore.remotestore) batch.submit() retval = {} for hash in hashes: - retval[hash] = not futures[hash].value + retval[hash] = futures[hash].value return retval