D1747: repoview: add visibilityexception argument to filterrevs() and related fns

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Mon Dec 25 09:45:16 EST 2017


pulkit added a comment.


  In https://phab.mercurial-scm.org/D1747#29916, @yuja wrote:
  
  > > Since revisions are dynamically unhidden, we can't cache the result
  > >  to the (unfiltered) repo per filterename.
  >
  > FWIW, if the cache don't include "unhidden" revisions, maybe we don't
  >  need new filter names like 'visible-hidden"?
  
  
  Yep I agree, but I wanted be on the safe side to prevent unknown bugs by using the same filtername.

INLINE COMMENTS

> yuja wrote in repoview.py:157
> Since revisions are dynamically unhidden, we can't cache the result
> to the (unfiltered) repo per `filterename`.
> 
> Perhaps we could apply `visibilityexceptions` at repoview.changelog().
> 
>   revs = filterrevs(unfi, self.filtername)
>   revs = revs - self._visibilityexceptions

One reason to have this considered in computehidden() is we want this to be considered in `_revealancestors()` otherwise things which needs parent of hidden revision will throw an error like `export`. I will make it not cache the result if visibilityexceptions is present.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D1747

To: pulkit, #hg-reviewers, yuja
Cc: yuja, mercurial-devel


More information about the Mercurial-devel mailing list