##// END OF EJS Templates
performance: speedup computation of unserved revisions...
Pierre-Yves David -
r18273:a2d54f68 default
parent child Browse files
Show More
@@ -38,8 +38,17 b' def computeunserved(repo):'
38 Secret and hidden changeset should not pretend to be here."""
38 Secret and hidden changeset should not pretend to be here."""
39 assert not repo.changelog.filteredrevs
39 assert not repo.changelog.filteredrevs
40 # fast path in simple case to avoid impact of non optimised code
40 # fast path in simple case to avoid impact of non optimised code
41 if phases.hassecret(repo) or repo.obsstore:
41 hiddens = filteredrevs(repo, 'hidden')
42 return frozenset(repo.revs('hidden() + secret()'))
42 if phases.hassecret(repo):
43 cl = repo.changelog
44 secret = phases.secret
45 getphase = repo._phasecache.phase
46 first = min(cl.rev(n) for n in repo._phasecache.phaseroots[secret])
47 revs = cl.revs(start=first)
48 secrets = set(r for r in revs if getphase(repo, r) >= secret)
49 return frozenset(hiddens | secrets)
50 else:
51 return hiddens
43 return frozenset()
52 return frozenset()
44
53
45 def computemutable(repo):
54 def computemutable(repo):
General Comments 0
You need to be logged in to leave comments. Login now