Mercurial > evolve
diff states.py @ 18:9ffe946febc0
Autogenerate command table.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Wed, 25 May 2011 02:27:40 +0200 |
parents | 6aa349f47e7c |
children | 8784a989a572 |
line wrap: on
line diff
--- a/states.py Wed May 25 02:27:09 2011 +0200 +++ b/states.py Wed May 25 02:27:40 2011 +0200 @@ -107,21 +107,18 @@ # New commands ############################# -def cmdpublished(ui, repo, *changesets): - revs = scmutil.revrange(repo, changesets) - repo.setstate(ST0, [repo.changelog.node(rev) for rev in revs]) - return 0 +cmdtable = {} -def cmdready(ui, repo, *changesets): - revs = scmutil.revrange(repo, changesets) - repo.setstate(ST1, [repo.changelog.node(rev) for rev in revs]) - return 0 - -#autogen this -cmdtable = { - 'published': (cmdpublished, [], _('<revset>')), - 'ready': (cmdready, [], _('<revset>')), - } +def makecmd(state): + def cmdmoveheads(ui, repo, *changesets): + revs = scmutil.revrange(repo, changesets) + repo.setstate(state, [repo.changelog.node(rev) for rev in revs]) + return 0 + return cmdmoveheads +for state in STATES: + if state.trackheads: + cmdmoveheads = makecmd(state) + cmdtable[state.name] = (cmdmoveheads, [], '<revset>')