equal
deleted
inserted
replaced
30 integers which identify a node in the context of the graph returned. |
30 integers which identify a node in the context of the graph returned. |
31 """ |
31 """ |
32 cur = start |
32 cur = start |
33 while cur >= stop: |
33 while cur >= stop: |
34 ctx = repo[cur] |
34 ctx = repo[cur] |
35 parents = [p.rev() for p in ctx.parents() if p.rev() != nullrev] |
35 parents = set([p.rev() for p in ctx.parents() if p.rev() != nullrev]) |
36 yield (cur, CHANGESET, ctx, sorted(parents)) |
36 yield (cur, CHANGESET, ctx, sorted(parents)) |
37 cur -= 1 |
37 cur -= 1 |
38 |
38 |
39 def filerevs(repo, path, start, stop, limit=None): |
39 def filerevs(repo, path, start, stop, limit=None): |
40 """file cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples |
40 """file cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples |
45 filerev = len(repo.file(path)) - 1 |
45 filerev = len(repo.file(path)) - 1 |
46 rev = stop + 1 |
46 rev = stop + 1 |
47 count = 0 |
47 count = 0 |
48 while filerev >= 0 and rev > stop: |
48 while filerev >= 0 and rev > stop: |
49 fctx = repo.filectx(path, fileid=filerev) |
49 fctx = repo.filectx(path, fileid=filerev) |
50 parents = [f.linkrev() for f in fctx.parents() if f.path() == path] |
50 parents = set([f.linkrev() for f in fctx.parents() if f.path() == path]) |
51 rev = fctx.rev() |
51 rev = fctx.rev() |
52 if rev <= start: |
52 if rev <= start: |
53 yield (rev, CHANGESET, fctx.changectx(), sorted(parents)) |
53 yield (rev, CHANGESET, fctx.changectx(), sorted(parents)) |
54 count += 1 |
54 count += 1 |
55 if count == limit: |
55 if count == limit: |
63 that are in nodes, too. |
63 that are in nodes, too. |
64 """ |
64 """ |
65 include = set(nodes) |
65 include = set(nodes) |
66 for node in nodes: |
66 for node in nodes: |
67 ctx = repo[node] |
67 ctx = repo[node] |
68 parents = [p.rev() for p in ctx.parents() if p.node() in include] |
68 parents = set([p.rev() for p in ctx.parents() if p.node() in include]) |
69 yield (ctx.rev(), CHANGESET, ctx, sorted(parents)) |
69 yield (ctx.rev(), CHANGESET, ctx, sorted(parents)) |
70 |
70 |
71 def colored(dag): |
71 def colored(dag): |
72 """annotates a DAG with colored edge information |
72 """annotates a DAG with colored edge information |
73 |
73 |