--- a/mercurial/setdiscovery.py Thu Aug 16 20:11:45 2018 +0000
+++ b/mercurial/setdiscovery.py Thu Aug 16 20:23:10 2018 +0000
@@ -144,16 +144,17 @@
cl = local.changelog
clnode = cl.node
clrev = cl.rev
- localsubset = None
if ancestorsof is not None:
- localsubset = [clrev(n) for n in ancestorsof]
- dag = dagutil.revlogdag(cl, localsubset=localsubset)
+ ownheads = [clrev(n) for n in ancestorsof]
+ else:
+ ownheads = [rev for rev in cl.headrevs() if rev != nullrev]
+
+ dag = dagutil.revlogdag(cl, localsubset=ownheads)
# early exit if we know all the specified remote heads already
ui.debug("query 1; heads\n")
roundtrips += 1
- ownheads = dag.heads()
sample = _limitsample(ownheads, initialsamplesize)
# indices between sample and externalized version must match
sample = list(sample)