>          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

Reply via email to