evolve: don't use graftstate for continuing `hg evolve`
Before this patch, if user runs `hg evolve`, we read the evolve state, write a
graftstate from that information and run graft command. This patch replaces that
logic with new logic which does not depends on the graft state.
The new logic is very filtered part of logic from graft command. We did not
require a lot of opts checking and filtering revs logic from the graft command
as our use case is fixed.
This is the start of series/work which will make `hg evolve` better and have
a good statefile for itself.
$ 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