repoview: use set for blockers

Blockers should be unique but tags and bookmarks could point to the same rev,
therefore use a set to ensure that we don't have duplicates.
This commit is contained in:
David Soria Parra 2014-08-12 16:42:24 -07:00
parent 6c5b3c4a4c
commit 70d1fce0ac

View File

@ -33,16 +33,16 @@ def _gethiddenblockers(repo):
revs = cl.revs(start=firsthideable)
tofilter = repo.revs(
'(%ld) and children(%ld)', list(revs), list(hideable))
blockers = [r for r in tofilter if r not in hideable]
blockers = set([r for r in tofilter if r not in hideable])
for par in repo[None].parents():
blockers.append(par.rev())
blockers.add(par.rev())
for bm in repo._bookmarks.values():
blockers.append(cl.rev(bm))
blockers.add(cl.rev(bm))
tags = {}
tagsmod.readlocaltags(repo.ui, repo, tags, {})
if tags:
rev, nodemap = cl.rev, cl.nodemap
blockers.extend(rev(t[0]) for t in tags.values() if t[0] in nodemap)
blockers.update(rev(t[0]) for t in tags.values() if t[0] in nodemap)
return blockers
def computehidden(repo):