19 |
19 |
20 from mercurial.node import nullrev |
20 from mercurial.node import nullrev |
21 from mercurial.cmdutil import revrange |
21 from mercurial.cmdutil import revrange |
22 |
22 |
23 CHANGESET = 'C' |
23 CHANGESET = 'C' |
24 |
|
25 def revisions(repo, start, end): |
|
26 """DAG generator for revisions between start and end |
|
27 """ |
|
28 revset = '%s:%s' % (start, end) |
|
29 return dagwalker(repo, revrange(repo, [revset])) |
|
30 |
|
31 def filerevs(repo, path, start, stop, limit=None): |
|
32 """DAG generator, which is limited by file passed |
|
33 """ |
|
34 revset = '%s:%s and file("%s")' % (start, stop, path) |
|
35 if limit: |
|
36 revset = 'limit(%s, %s)' % (revset, limit) |
|
37 return dagwalker(repo, revrange(repo, [revset])) |
|
38 |
24 |
39 def dagwalker(repo, revs): |
25 def dagwalker(repo, revs): |
40 """cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples |
26 """cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples |
41 |
27 |
42 This generator function walks through revisions (which should be ordered |
28 This generator function walks through revisions (which should be ordered |