remotefilelog: fix bug in maybesparsematch returning alwaysmatcher
authorKyle Lippincott <spectral@google.com>
Thu, 27 Dec 2018 15:19:46 -0800
changeset 41077 517a51d9cd7f
parent 41076 8ecb17b7f432
child 41078 46e0563c67db
remotefilelog: fix bug in maybesparsematch returning alwaysmatcher The description of the method says that it should return None if sparse is not used in this repository; since sparse.matcher() returns alwaysmatcher if sparse is not enabled, I'm using that as the signal to return None here to preserve the previous behavior. Differential Revision: https://phab.mercurial-scm.org/D5487
hgext/remotefilelog/shallowrepo.py
--- a/hgext/remotefilelog/shallowrepo.py	Fri Dec 28 12:51:47 2018 -0800
+++ b/hgext/remotefilelog/shallowrepo.py	Thu Dec 27 15:19:46 2018 -0800
@@ -143,8 +143,13 @@
             sparse repository.
             '''
             if revs:
-                return sparse.matcher(repo, revs=revs)
-            return sparse.matcher(repo)
+                ret = sparse.matcher(repo, revs=revs)
+            else:
+                ret = sparse.matcher(repo)
+
+            if ret.always():
+                return None
+            return ret
 
         def file(self, f):
             if f[0] == '/':