# HG changeset patch # User Benoit Boissinot # Date 1242525193 -7200 # Node ID 23429ebd3f9dc2d3ab4f4a45e3b2330f8f40127c # Parent 7af92e70bb25512d27c52ad7a5932d4ed2d88c06 ancestor: use set instead of dict diff -r 7af92e70bb25 -r 23429ebd3f9d mercurial/ancestor.py --- a/mercurial/ancestor.py Sun May 17 03:49:59 2009 +0200 +++ b/mercurial/ancestor.py Sun May 17 03:53:13 2009 +0200 @@ -42,24 +42,24 @@ # traverse ancestors in order of decreasing distance from root def ancestors(vertex): h = [(depth[vertex], vertex)] - seen = {} + seen = set() while h: d, n = heapq.heappop(h) if n not in seen: - seen[n] = 1 + seen.add(n) yield (d, n) for p in parentcache[n]: heapq.heappush(h, (depth[p], p)) def generations(vertex): - sg, s = None, {} + sg, s = None, set() for g, v in ancestors(vertex): if g != sg: if sg: yield sg, s - sg, s = g, {v:1} + sg, s = g, set((v,)) else: - s[v] = 1 + s.add(v) yield sg, s x = generations(a)