$ cat >> $HGRCPATH <<EOF
> [web]
> push_ssl = false
> allow_push = *
> [alias]
> qlog = log --template='{rev} - {node|short} {desc} ({state})\n'
> [extensions]
> EOF
$ echo "states=$(echo $(dirname $TESTDIR))/hgext/states.py" >> $HGRCPATH
$ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH
$ echo "evolution=$(echo $(dirname $TESTDIR))/hgext/evolution.py" >> $HGRCPATH
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
various init
$ hg init local
$ cd local
$ hg states ready # XXX should be put in default config when state support it
$ mkcommit a
$ mkcommit b
$ mkcommit c
$ mkcommit d
$ hg up 1
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ mkcommit e -q
created new head
$ mkcommit f
$ hg published 1
$ hg qlog
5 - e44648563c73 add f (ready)
4 - fbb94e3a0ecf add e (ready)
3 - 47d2a3944de8 add d (ready)
2 - 4538525df7e2 add c (ready)
1 - 7c3bad9141dc add b (published)
0 - 1f0dee641bb7 add a (published)
test simple kill
$ hg kill 5
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
working directory now at fbb94e3a0ecf
$ hg qlog
4 - fbb94e3a0ecf add e (ready)
3 - 47d2a3944de8 add d (ready)
2 - 4538525df7e2 add c (ready)
1 - 7c3bad9141dc add b (published)
0 - 1f0dee641bb7 add a (published)
test multiple kill
$ hg kill 4 3
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
working directory now at 7c3bad9141dc
$ hg qlog
2 - 4538525df7e2 add c (ready)
1 - 7c3bad9141dc add b (published)
0 - 1f0dee641bb7 add a (published)