topic: support --rev argument and properly process then as user input
Revisions inputed by the users should be processed using `scmutil.revrange`.
This will take alias into account and allow extensions to monitor the user
inputs.
As a side effect, the '_changetopics' function takes revisions as argument.
make the API clearer.
$ cat >> $HGRCPATH <<EOF
> [ui]
> logtemplate={rev}:{node|short}[{bookmarks}] ({obsolete}/{phase}) {desc|firstline}\n
> [extensions]
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
$ hg init repo
$ cd repo
$ mkcommit a
$ mkcommit b
test disabling commands
$ cat >> .hg/hgrc <<EOF
> [experimental]
> evolution=createmarkers
> allowunstable
> exchange
> EOF
$ hg prune | head -n 2
hg: unknown command 'prune'
Mercurial Distributed SCM