styles: add new 'bisect' style that prints the bisection status
The style is based on the 'default' style, but adds the bisection status
of the changesets.
Example output for a changeset in range:
$ hg log --style bisect -r 15:16
changeset: 15:857b178a7cf3
bisect: bad
parent: 13:b0a32c86eb31
parent: 10:429fcd26f52d
user: test
date: Thu Jan 01 00:00:15 1970 +0000
summary: merge 10,13
changeset: 16:609d82a7ebae
bisect: bad (implicit)
user: test
date: Thu Jan 01 00:00:16 1970 +0000
summary: 16
$ hg log --quiet --style bisect
18:d42e18c7bc9b
B 17:228c06deef46
B 16:609d82a7ebae
B 15:857b178a7cf3
14:faa450606157
G 13:b0a32c86eb31
G 12:9f259202bbe7
G 11:82ca6f06eccd
U 10:429fcd26f52d
S 9:3c77083deb4a
G 8:dab8161ac8fc
7:50c76098bbf2
I 6:a214d5d3811a
I 5:385a529b6670
I 4:5c668c22234f
I 3:0950834f0a9c
I 2:051e12f87bf1
1:4ca5088da217
0:33b1f9bc8bc5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Here we create a simple DAG which has just enough of the required
# topology to test all the bisection status labels:
#
# 13--14
# /
# 0--1--2--3---------9--10--11--12
# \ /
# 4--5--6--7--8
$ hg init
$ echo '0' >a
$ hg add a
$ hg ci -u test -d '0 0' -m '0'
$ echo '1' >a
$ hg ci -u test -d '0 1' -m '1'
branch 2-3
$ echo '2' >b
$ hg add b
$ hg ci -u test -d '0 2' -m '2'
$ echo '3' >b
$ hg ci -u test -d '0 3' -m '3'
branch 4-8
$ hg up -r 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo '4' >c
$ hg add c
$ hg ci -u test -d '0 4' -m '4'
created new head
$ echo '5' >c
$ hg ci -u test -d '0 5' -m '5'
$ echo '6' >c
$ hg ci -u test -d '0 6' -m '6'
$ echo '7' >c
$ hg ci -u test -d '0 7' -m '7'
$ echo '8' >c
$ hg ci -u test -d '0 8' -m '8'
merge
$ hg merge -r 3
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -u test -d '0 9' -m '9=8+3'
$ echo '10' >a
$ hg ci -u test -d '0 10' -m '10'
$ echo '11' >a
$ hg ci -u test -d '0 11' -m '11'
$ echo '12' >a
$ hg ci -u test -d '0 12' -m '12'
unrelated branch
$ hg up -r 3
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo '13' >d
$ hg add d
$ hg ci -u test -d '0 13' -m '13'
created new head
$ echo '14' >d
$ hg ci -u test -d '0 14' -m '14'
mark changesets
$ hg bisect --reset
$ hg bisect --good 4
$ hg bisect --good 6
$ hg bisect --bad 12
Testing changeset 9:8bcbdb072033 (6 changesets remaining, ~2 tests)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg bisect --bad 10
Testing changeset 8:3cd112f87d77 (4 changesets remaining, ~2 tests)
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg bisect --skip 7
Testing changeset 8:3cd112f87d77 (4 changesets remaining, ~2 tests)
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
test template
$ hg log --template '{rev}:{node|short} {bisect}\n'
14:cecd84203acc
13:86f7c8cdb6df
12:a76089b5f47c bad
11:5c3eb122d29c bad (implicit)
10:b097cef2be03 bad
9:8bcbdb072033 untested
8:3cd112f87d77 untested
7:577e237a73bd skipped
6:e597fa2707c5 good
5:b9cea37a76bc good (implicit)
4:da6b357259d7 good
3:e7f031aee8ca ignored
2:b1ad1b6bcc5c ignored
1:37f42ae8b45e good (implicit)
0:b4e73ffab476 good (implicit)
$ hg log --template '{bisect|shortbisect} {rev}:{node|short}\n'
14:cecd84203acc
13:86f7c8cdb6df
B 12:a76089b5f47c
B 11:5c3eb122d29c
B 10:b097cef2be03
U 9:8bcbdb072033
U 8:3cd112f87d77
S 7:577e237a73bd
G 6:e597fa2707c5
G 5:b9cea37a76bc
G 4:da6b357259d7
I 3:e7f031aee8ca
I 2:b1ad1b6bcc5c
G 1:37f42ae8b45e
G 0:b4e73ffab476
test style
$ hg log --style bisect
changeset: 14:cecd84203acc
bisect:
tag: tip
user: test
date: Wed Dec 31 23:59:46 1969 -0000
summary: 14
changeset: 13:86f7c8cdb6df
bisect:
parent: 3:e7f031aee8ca
user: test
date: Wed Dec 31 23:59:47 1969 -0000
summary: 13
changeset: 12:a76089b5f47c
bisect: bad
user: test
date: Wed Dec 31 23:59:48 1969 -0000
summary: 12
changeset: 11:5c3eb122d29c
bisect: bad (implicit)
user: test
date: Wed Dec 31 23:59:49 1969 -0000
summary: 11
changeset: 10:b097cef2be03
bisect: bad
user: test
date: Wed Dec 31 23:59:50 1969 -0000
summary: 10
changeset: 9:8bcbdb072033
bisect: untested
parent: 8:3cd112f87d77
parent: 3:e7f031aee8ca
user: test
date: Wed Dec 31 23:59:51 1969 -0000
summary: 9=8+3
changeset: 8:3cd112f87d77
bisect: untested
user: test
date: Wed Dec 31 23:59:52 1969 -0000
summary: 8
changeset: 7:577e237a73bd
bisect: skipped
user: test
date: Wed Dec 31 23:59:53 1969 -0000
summary: 7
changeset: 6:e597fa2707c5
bisect: good
user: test
date: Wed Dec 31 23:59:54 1969 -0000
summary: 6
changeset: 5:b9cea37a76bc
bisect: good (implicit)
user: test
date: Wed Dec 31 23:59:55 1969 -0000
summary: 5
changeset: 4:da6b357259d7
bisect: good
parent: 1:37f42ae8b45e
user: test
date: Wed Dec 31 23:59:56 1969 -0000
summary: 4
changeset: 3:e7f031aee8ca
bisect: ignored
user: test
date: Wed Dec 31 23:59:57 1969 -0000
summary: 3
changeset: 2:b1ad1b6bcc5c
bisect: ignored
user: test
date: Wed Dec 31 23:59:58 1969 -0000
summary: 2
changeset: 1:37f42ae8b45e
bisect: good (implicit)
user: test
date: Wed Dec 31 23:59:59 1969 -0000
summary: 1
changeset: 0:b4e73ffab476
bisect: good (implicit)
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0
$ hg log --quiet --style bisect
14:cecd84203acc
13:86f7c8cdb6df
B 12:a76089b5f47c
B 11:5c3eb122d29c
B 10:b097cef2be03
U 9:8bcbdb072033
U 8:3cd112f87d77
S 7:577e237a73bd
G 6:e597fa2707c5
G 5:b9cea37a76bc
G 4:da6b357259d7
I 3:e7f031aee8ca
I 2:b1ad1b6bcc5c
G 1:37f42ae8b45e
G 0:b4e73ffab476