> if ntiprev > self.tiprev: > self.tiprev = ntiprev > self.tipnode = cl.node(ntiprev) > + self.filteredhash = scmutil.filteredhash(repo, self.tiprev) > > if not self.validfor(repo): > # cache key are not valid anymore
and update `self.filteredhash` later again, which smells. Instead, shouldn't we check the validity first, and take the fast path only if it was valid? ``` if self.validfor(repo): # was valid, can take fast path self.tiprev = ntiprev self.tipnode = cl.node(ntiprev) else: # bad luck, recompute tiprev/tipnode ... self.filteredhash = scmutil.filteredhash(repo, self.tiprev) ``` _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel