test-bisect2
153 lines
| 2.9 KiB
| text/plain
|
TextLexer
/ tests / test-bisect2
Bernhard Leiner
|
r6859 | #!/bin/sh | ||
# The tests in test-bisect are done on a linear history. | ||||
# Here the following repository history is used for testing: | ||||
# | ||||
# 17 | ||||
# | | ||||
# 18 16 | ||||
# \ / | ||||
# 15 | ||||
# / \ | ||||
# / \ | ||||
# 10 13 | ||||
# / \ | | ||||
# / \ | 14 | ||||
# 7 6 9 12 / | ||||
# \ / \ | |/ | ||||
# 4 \ | 11 | ||||
# \ \ | / | ||||
# 3 5 | / | ||||
# \ / |/ | ||||
# 2 8 | ||||
# \ / | ||||
# 1 | ||||
# | | ||||
# 0 | ||||
set -e | ||||
echo % init | ||||
hg init | ||||
echo % committing changes | ||||
echo > a | ||||
echo '0' >> a | ||||
hg add a | ||||
hg ci -m "0" -d "0 0" | ||||
echo '1' >> a | ||||
hg ci -m "1" -d "1 0" | ||||
echo '2' >> a | ||||
hg ci -m "2" -d "2 0" | ||||
echo '3' >> a | ||||
hg ci -m "3" -d "3 0" | ||||
echo '4' >> a | ||||
hg ci -m "4" -d "4 0" | ||||
# create branch | ||||
hg up -r 2 | ||||
echo '5' >> b | ||||
hg add b | ||||
hg ci -m "5" -d "5 0" | ||||
# merge | ||||
hg merge | ||||
hg ci -m "merge 4,5" -d "6 0" | ||||
# create branch | ||||
hg up -r 4 | ||||
echo '7' > c | ||||
hg add c | ||||
hg ci -m "7" -d "7 0" | ||||
# create branch | ||||
hg up -r 1 | ||||
echo '8' > d | ||||
hg add d | ||||
hg ci -m "8" -d "8 0" | ||||
echo '9' >> d | ||||
hg ci -m "9" -d "9 0" | ||||
# merge | ||||
hg merge -r 6 | ||||
hg ci -m "merge 6,9" -d "10 0" | ||||
# create branch | ||||
hg up -r 8 | ||||
echo '11' > e | ||||
hg add e | ||||
hg ci -m "11" -d "11 0" | ||||
echo '12' >> e | ||||
hg ci -m "12" -d "12 0" | ||||
echo '13' >> e | ||||
hg ci -m "13" -d "13 0" | ||||
# create branch | ||||
hg up -r 11 | ||||
echo '14' > f | ||||
hg add f | ||||
hg ci -m "14" -d "14 0" | ||||
# merge | ||||
hg up -r 13 -C | ||||
hg merge -r 10 | ||||
hg ci -m "merge 10,13" -d "15 0" | ||||
echo '16' >> e | ||||
hg ci -m "16" -d "16 0" | ||||
echo '17' >> e | ||||
hg ci -m "17" -d "17 0" | ||||
# create branch | ||||
hg up -r 15 | ||||
echo '18' >> e | ||||
hg ci -m "18" -d "18 0" | ||||
echo % log | ||||
hg log | ||||
echo % hg up -C | ||||
hg up -C | ||||
echo % complex bisect test 1 # first bad rev is 9 | ||||
hg bisect -r | ||||
hg bisect -g 0 | ||||
hg bisect -b 17 # -> update to rev 6 | ||||
hg bisect -g # -> update to rev 13 | ||||
hg bisect -s # -> update to rev 10 | ||||
hg bisect -b # -> update to rev 8 | ||||
hg bisect -g # -> update to rev 9 | ||||
hg bisect -b | ||||
echo % complex bisect test 2 # first good rev is 13 | ||||
hg bisect -r | ||||
hg bisect -g 18 | ||||
hg bisect -b 1 # -> update to rev 6 | ||||
hg bisect -s # -> update to rev 10 | ||||
hg bisect -b # -> update to rev 12 | ||||
hg bisect -b # -> update to rev 13 | ||||
hg bisect -g | ||||
echo % complex bisect test 3 | ||||
# first bad rev is 15 | ||||
# 10,9,13 are skipped an might be the first bad revisions as well | ||||
hg bisect -r | ||||
hg bisect -g 1 | ||||
hg bisect -b 16 # -> update to rev 6 | ||||
hg bisect -g # -> update to rev 13 | ||||
hg bisect -s # -> update to rev 10 | ||||
hg bisect -s # -> update to rev 12 | ||||
hg bisect -g # -> update to rev 9 | ||||
hg bisect -s # -> update to rev 15 | ||||
hg bisect -b | ||||
echo % complex bisect test 4 | ||||
# first good revision is 17 | ||||
# 15,16 are skipped an might be the first good revisions as well | ||||
hg bisect -r | ||||
hg bisect -g 17 | ||||
hg bisect -b 8 # -> update to rev 10 | ||||
hg bisect -b # -> update to rev 13 | ||||
hg bisect -b # -> update to rev 15 | ||||
hg bisect -s # -> update to rev 16 | ||||
hg bisect -s | ||||