# HG changeset patch # User Adrian Buehlmann # Date 1282861660 -7200 # Node ID 010025717202833f108de1c90b9b2d5fb3b672ce # Parent 45ff6dcf82ea4d1b37f18ac844e5955b4f3f69b2 tests: unify test-bheads diff -r 45ff6dcf82ea -r 010025717202 tests/test-bheads --- a/tests/test-bheads Thu Aug 26 12:41:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -#!/bin/sh - -heads() -{ - hg heads --template '{rev}: {desc|firstline|strip} ({branches})\n' "$@" -} - -hg init a -cd a -echo 'root' >root -hg add root -hg commit -m "Adding root node" -heads -echo '-------' -heads . - -echo '=======' -echo 'a' >a -hg add a -hg branch a -hg commit -m "Adding a branch" -heads -echo '-------' -heads . - -echo '=======' -hg update -C 0 -echo 'b' >b -hg add b -hg branch b -hg commit -m "Adding b branch" -heads -echo '-------' -heads . - -echo '=======' -echo 'bh1' >bh1 -hg add bh1 -hg commit -m "Adding b branch head 1" -heads -echo '-------' -heads . - -echo '=======' -hg update -C 2 -echo 'bh2' >bh2 -hg add bh2 -hg commit -m "Adding b branch head 2" -heads -echo '-------' -heads . - -echo '=======' -hg update -C 2 -echo 'bh3' >bh3 -hg add bh3 -hg commit -m "Adding b branch head 3" -heads -echo '-------' -heads . - -echo '=======' -hg merge 4 -hg commit -m "Merging b branch head 2 and b branch head 3" -heads -echo '-------' -heads . - -echo '=======' -echo 'c' >c -hg add c -hg branch c -hg commit -m "Adding c branch" -heads -echo '-------' -heads . - -echo '=======' -heads -r 3 . -echo $? -echo '-------' -heads -r 2 . -echo $? -echo '-------' -hg update -C 4 -echo $? -echo '-------' -heads -r 3 . -echo $? -echo '-------' -heads -r 2 . -echo $? -echo '-------' -heads -r 7 . -echo $? - -echo '=======' -for i in 0 1 2 3 4 5 6 7; do - hg update -C "$i" - heads - echo '-------' - heads . - echo '-------' -done - -echo '=======' -for i in a b c z; do - heads "$i" - echo '-------' -done - -echo '=======' -heads 0 1 2 3 4 5 6 7 - -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 > bb -hg ci -Am "b4 (NN): new topo root for branch b" - -echo '% case HN: no msg' -echo 2 >> bb -hg ci -m "b5 (HN)" - -echo '% case BN: msg' -hg branch -f default -echo 1 > aa -hg ci -Am "a6 (BN): new branch root" - -echo '% case CN: msg' -hg up -q 4 -echo 3 >> bbb -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" - diff -r 45ff6dcf82ea -r 010025717202 tests/test-bheads.out --- a/tests/test-bheads.out Thu Aug 26 12:41:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,209 +0,0 @@ -0: Adding root node () -------- -0: Adding root node () -======= -marked working directory as branch a -1: Adding a branch (a) -0: Adding root node () -------- -1: Adding a branch (a) -======= -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -marked working directory as branch b -2: Adding b branch (b) -1: Adding a branch (a) -0: Adding root node () -------- -2: Adding b branch (b) -======= -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -3: Adding b branch head 1 (b) -======= -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -created new head -4: Adding b branch head 2 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -4: Adding b branch head 2 (b) -3: Adding b branch head 1 (b) -======= -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -created new head -5: Adding b branch head 3 (b) -4: Adding b branch head 2 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -5: Adding b branch head 3 (b) -4: Adding b branch head 2 (b) -3: Adding b branch head 1 (b) -======= -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -======= -marked working directory as branch c -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -7: Adding c branch (c) -======= -no open branch heads found on branches c (started at 3) -1 -------- -7: Adding c branch (c) -0 -------- -0 files updated, 0 files merged, 2 files removed, 0 files unresolved -0 -------- -3: Adding b branch head 1 (b) -0 -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -0 -------- -no open branch heads found on branches b (started at 7) -1 -======= -0 files updated, 0 files merged, 2 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -0: Adding root node () -------- -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -1: Adding a branch (a) -------- -1 files updated, 0 files merged, 1 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -1 files updated, 0 files merged, 1 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -1 files updated, 0 files merged, 1 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -------- -7: Adding c branch (c) -------- -======= -1: Adding a branch (a) -------- -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -------- -7: Adding c branch (c) -------- -abort: unknown revision 'z'! -------- -======= -7: Adding c branch (c) -6: Merging b branch head 2 and b branch head 3 (b) -3: Adding b branch head 1 (b) -1: Adding a branch (a) -0: Adding root node () -% topological heads -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 bb -created new head -% case HN: no msg -% case BN: msg -marked working directory as branch default -adding aa -created new head -% case CN: msg -adding bbb -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 diff -r 45ff6dcf82ea -r 010025717202 tests/test-bheads.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bheads.t Fri Aug 27 00:27:40 2010 +0200 @@ -0,0 +1,377 @@ + $ heads() + > { + > hg heads --template '{rev}: {desc|firstline|strip} ({branches})\n' "$@" + > } + + $ hg init a + $ cd a + $ echo 'root' >root + $ hg add root + $ hg commit -m "Adding root node" + $ heads + 0: Adding root node () +------- + $ heads . + 0: Adding root node () + +======= + + $ echo 'a' >a + $ hg add a + $ hg branch a + marked working directory as branch a + $ hg commit -m "Adding a branch" + $ heads + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 1: Adding a branch (a) + +======= + + $ hg update -C 0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo 'b' >b + $ hg add b + $ hg branch b + marked working directory as branch b + $ hg commit -m "Adding b branch" + $ heads + 2: Adding b branch (b) + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 2: Adding b branch (b) + +======= + + $ echo 'bh1' >bh1 + $ hg add bh1 + $ hg commit -m "Adding b branch head 1" + $ heads + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 3: Adding b branch head 1 (b) + +======= + + $ hg update -C 2 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo 'bh2' >bh2 + $ hg add bh2 + $ hg commit -m "Adding b branch head 2" + created new head + $ heads + 4: Adding b branch head 2 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + $ heads . + 4: Adding b branch head 2 (b) + 3: Adding b branch head 1 (b) + +======= + + $ hg update -C 2 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo 'bh3' >bh3 + $ hg add bh3 + $ hg commit -m "Adding b branch head 3" + created new head + $ heads + 5: Adding b branch head 3 (b) + 4: Adding b branch head 2 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 5: Adding b branch head 3 (b) + 4: Adding b branch head 2 (b) + 3: Adding b branch head 1 (b) + +======= + + $ hg merge 4 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg commit -m "Merging b branch head 2 and b branch head 3" + $ heads + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + +======= + + $ echo 'c' >c + $ hg add c + $ hg branch c + marked working directory as branch c + $ hg commit -m "Adding c branch" + $ heads + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () +------- + $ heads . + 7: Adding c branch (c) + +======= + + $ heads -r 3 . + no open branch heads found on branches c (started at 3) + $ echo $? + 0 + $ heads -r 2 . + 7: Adding c branch (c) + $ echo $? + 0 +------- + $ hg update -C 4 + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ echo $? + 0 +------- + $ heads -r 3 . + 3: Adding b branch head 1 (b) + $ echo $? + 0 +------- + $ heads -r 2 . + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + $ echo $? + 0 +------- + $ heads -r 7 . + no open branch heads found on branches b (started at 7) + $ echo $? + 0 + +======= + + $ for i in 0 1 2 3 4 5 6 7; do + > hg update -C "$i" + > heads + > echo '-------' + > heads . + > echo '-------' + > done + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 0: Adding root node () + ------- + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 1: Adding a branch (a) + ------- + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + ------- + 7: Adding c branch (c) + ------- + +======= + + $ for i in a b c z; do + > heads "$i" + > echo '-------' + > done + 1: Adding a branch (a) + ------- + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + ------- + 7: Adding c branch (c) + ------- + abort: unknown revision 'z'! + ------- + +======= + + $ heads 0 1 2 3 4 5 6 7 + 7: Adding c branch (c) + 6: Merging b branch head 2 and b branch head 3 (b) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + 0: Adding root node () + +Topological heads: + + $ heads -t + 7: Adding c branch (c) + 3: Adding b branch head 1 (b) + 1: Adding a branch (a) + + $ cd .. +______________ + +"created new head" message tests + + $ hg init newheadmsg + $ cd newheadmsg + +Init: no msg + + $ echo 1 > a + $ hg ci -Am "a0: Initial root" + adding a + $ echo 2 >> a + $ hg ci -m "a1 (HN)" + + $ hg branch b + marked working directory as branch b + $ echo 1 > b + $ hg ci -Am "b2: Initial root for branch b" + adding b + $ echo 2 >> b + $ hg ci -m "b3 (HN)" + +Case NN: msg + + $ hg up -q null + $ hg branch -f b + marked working directory as branch b + $ echo 1 > bb + $ hg ci -Am "b4 (NN): new topo root for branch b" + adding bb + created new head + +Case HN: no msg + + $ echo 2 >> bb + $ hg ci -m "b5 (HN)" + +Case BN: msg + + $ hg branch -f default + marked working directory as branch default + $ echo 1 > aa + $ hg ci -Am "a6 (BN): new branch root" + adding aa + created new head + +Case CN: msg + + $ hg up -q 4 + $ echo 3 >> bbb + $ hg ci -Am "b7 (CN): regular new head" + adding bbb + created new head + +Case BB: msg + + $ hg up -q 4 + $ hg merge -q 3 + $ hg branch -f default + marked working directory as branch default + $ hg ci -m "a8 (BB): weird new branch root" + created new head + +Case CB: msg + + $ hg up -q 4 + $ hg merge -q 1 + $ hg ci -m "b9 (CB): new head from branch merge" + created new head + +Case HB: no msg + + $ hg up -q 7 + $ hg merge -q 6 + $ hg ci -m "b10 (HB): continuing head from branch merge" + +Case CC: msg + + $ hg up -q 4 + $ hg merge -q 2 + $ hg ci -m "b11 (CC): new head from merge" + created new head + +Case CH: no msg + + $ hg up -q 2 + $ hg merge -q 10 + $ hg ci -m "b12 (CH): continuing head from merge" + +Case HH: no msg + + $ hg merge -q 3 + $ hg ci -m "b12 (HH): merging two heads" +