outgoing: run on filtered repo
outgoing has been using an unfiltered repo since
fe67107094fd (discovery:
outgoing pass unfiltered repo to findcommonincoming (
issue3776),
2013-01-28). If I'm reading code and history correctly, it should be
safe to run _outgoing() on a filtered repo since
c5456b64eb07
(discovery: run discovery on filtered repository, 2015-01-07). By
running _outgoing() on a filtered repo, we can also remove the
workaround there for ignoring filtered revisions.
--- a/mercurial/hg.py Fri May 05 14:10:58 2017 -0700
+++ b/mercurial/hg.py Fri May 05 10:08:36 2017 -0700
@@ -869,7 +869,7 @@
revs = [repo.lookup(rev) for rev in scmutil.revrange(repo, revs)]
other = peer(repo, opts, dest)
- outgoing = discovery.findcommonoutgoing(repo.unfiltered(), other, revs,
+ outgoing = discovery.findcommonoutgoing(repo, other, revs,
force=opts.get('force'))
o = outgoing.missing
if not o:
--- a/mercurial/scmutil.py Fri May 05 14:10:58 2017 -0700
+++ b/mercurial/scmutil.py Fri May 05 10:08:36 2017 -0700
@@ -120,10 +120,6 @@
secretlist = []
if excluded:
for n in excluded:
- if n not in repo:
- # discovery should not have included the filtered revision,
- # we have to explicitly exclude it until discovery is cleanup.
- continue
ctx = repo[n]
if ctx.phase() >= phases.secret and not ctx.extinct():
secretlist.append(n)