proper computation of hidden changeset.
$ cat >> $HGRCPATH <<EOF
> [web]
> push_ssl = false
> allow_push = *
> [extensions]
> EOF
$ echo "states=$(echo $(dirname $TESTDIR))/obsolete.py" >> $HGRCPATH
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
$ hg init local
$ cd local
$ mkcommit a # 0
$ mkcommit b # 1
$ mkcommit c # 2
$ hg up 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit obsol_c # 3
created new head
$ hg debugobsolete 3 2
Test that obsolete changeset are hidden
$ hg log
changeset: 3:0d3f46688ccc
tag: tip
parent: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add obsol_c
changeset: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add b
changeset: 0:1f0dee641bb7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add a
$ hg log --hidden
changeset: 3:0d3f46688ccc
tag: tip
parent: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add obsol_c
changeset: 2:4538525df7e2
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add c
changeset: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add b
changeset: 0:1f0dee641bb7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add a
$ hg log -r 'obsolete()' --hidden
changeset: 2:4538525df7e2
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add c
test obsolete changeset with no-obsolete descendant
$ hg up 1 -q
$ mkcommit "obsol_c'" # 4 (on 1)
created new head
$ hg debugobsolete 4 3
$ hg log
changeset: 4:725c380fe99b
tag: tip
parent: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add obsol_c'
changeset: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add b
changeset: 0:1f0dee641bb7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add a
$ hg log -r 'obsolete()' --hidden
changeset: 2:4538525df7e2
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add c
changeset: 3:0d3f46688ccc
parent: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add obsol_c
$ hg up 3 -q
$ mkcommit d # 5 (on 3)
$ hg log -r 'obsolete()'
changeset: 3:0d3f46688ccc
parent: 1:7c3bad9141dc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add obsol_c