This is an archive of the discontinued Mercurial Phabricator instance.

repoview: consider visibility exceptions in filterrevs()
AbandonedPublic

Authored by pulkit on Nov 2 2017, 2:04 PM.

Details

Reviewers
quark
Group Reviewers
hg-reviewers
Summary

repoview.computehidden() computes the filtered set for visible filter. This
patch adds functionality to make the revisions in visibility exceptions for the
visible filter to be included in the visible set.

In clear terms, this patch adds support to unhide the visibility exceptions for
the visible filter.

Diff Detail

Repository
rHG Mercurial
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

pulkit created this revision.Nov 2 2017, 2:04 PM
pulkit edited the summary of this revision. (Show Details)Nov 22 2017, 8:24 PM
pulkit retitled this revision from repoview: also consider visibility exceptions in pinnedrevs to repoview: consider visibility exceptions in computehidden().
pulkit updated this revision to Diff 3785.
quark requested changes to this revision.Nov 28 2017, 8:13 PM
quark added a subscriber: quark.

This does not work for other repoviews. Why not do it at filterrevs?

mercurial/repoview.py
150

Here, append - repo.getvisibilityexceptions().

This revision now requires changes to proceed.Nov 28 2017, 8:13 PM
pulkit retitled this revision from repoview: consider visibility exceptions in computehidden() to repoview: consider visibility exceptions in filterrevs().Nov 28 2017, 9:06 PM
pulkit updated this revision to Diff 3957.
quark accepted this revision.Nov 29 2017, 3:08 PM
pulkit updated this revision to Diff 4052.Dec 1 2017, 11:40 AM
pulkit abandoned this revision.Dec 4 2017, 9:29 AM

For record, we just cannot do - repo.getvisibilityexceptions() for following reasons:

  1. The repo object which we have here can be filtered by different filtername than the filtername for which we are querying filterrevs.
  2. We need to reveal the ancestors of the visibiliity exceptions too, so we must consider the exceptions before we call _revealancestors()