# HG changeset patch # User Mads Kiilerich # Date 2013-01-28 14:19:44 # Node ID ed647c59753baaa7fc6da5c2d0f88672cf187a37 # Parent 5ef3c7081008f7befb57b10b2fa67c0d8a5e4a23 largefiles: let wirestore._stat return stats as expected by remotestore verify - preparing for fixing verify crash. 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