--- a/tests/test-bheads Tue Jun 08 22:28:42 2010 +0200
+++ b/tests/test-bheads Tue Jun 08 22:30:44 2010 +0200
@@ -114,3 +114,73 @@
echo '% topological heads'
heads -t
+
+echo '______________'
+cd ..
+
+hg init newheadmsg
+cd newheadmsg
+
+echo '% created new head message'
+echo '% init: no msg'
+echo 1 > a
+hg ci -Am "a0: Initial root"
+echo 2 >> a
+hg ci -m "a1 (HN)"
+
+hg branch b
+echo 1 > b
+hg ci -Am "b2: Initial root for branch b"
+echo 2 >> b
+hg ci -m "b3 (HN)"
+
+echo '% case NN: msg'
+hg up -q null
+hg branch -f b
+echo 1 > B
+hg ci -Am "b4 (NN): new topo root for branch b"
+
+echo '% case HN: no msg'
+echo 2 >> B
+hg ci -m "b5 (HN)"
+
+echo '% case BN: msg'
+hg branch -f default
+echo 1 > A
+hg ci -Am "a6 (BN): new branch root"
+
+echo '% case CN: msg'
+hg up -q 4
+echo 3 >> BB
+hg ci -Am "b7 (CN): regular new head"
+
+echo '% case BB: msg'
+hg up -q 4
+hg merge -q 3
+hg branch -f default
+hg ci -m "a8 (BB): weird new branch root"
+
+echo '% case CB: msg'
+hg up -q 4
+hg merge -q 1
+hg ci -m "b9 (CB): new head from branch merge"
+
+echo '% case HB: no msg'
+hg up -q 7
+hg merge -q 6
+hg ci -m "b10 (HB): continuing head from branch merge"
+
+echo '% case CC: msg'
+hg up -q 4
+hg merge -q 2
+hg ci -m "b11 (CC): new head from merge"
+
+echo '% case CH: no msg'
+hg up -q 2
+hg merge -q 10
+hg ci -m "b12 (CH): continuing head from merge"
+
+echo '% case HH: no msg'
+hg merge -q 3
+hg ci -m "b12 (HH): merging two heads"
+
--- a/tests/test-bheads.out Tue Jun 08 22:28:42 2010 +0200
+++ b/tests/test-bheads.out Tue Jun 08 22:30:44 2010 +0200
@@ -179,3 +179,31 @@
7: Adding c branch (c)
3: Adding b branch head 1 (b)
1: Adding a branch (a)
+______________
+% created new head message
+% init: no msg
+adding a
+marked working directory as branch b
+adding b
+% case NN: msg
+marked working directory as branch b
+adding B
+created new head
+% case HN: no msg
+% case BN: msg
+marked working directory as branch default
+adding A
+created new head
+% case CN: msg
+adding BB
+created new head
+% case BB: msg
+marked working directory as branch default
+created new head
+% case CB: msg
+created new head
+% case HB: no msg
+% case CC: msg
+created new head
+% case CH: no msg
+% case HH: no msg