outgoing: run on filtered repo
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 05 May 2017 10:08:36 -0700
changeset 32172 448ed4d3ee90
parent 32171 fb9b6bfb54b5
child 32173 c939fdce0fde
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.
mercurial/hg.py
mercurial/scmutil.py
--- 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)