Mercurial > hg
diff tests/test-bheads.t @ 12072:010025717202
tests: unify test-bheads
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 27 Aug 2010 00:27:40 +0200 |
parents | tests/test-bheads@0a2762d83c53 |
children | 4134686b83e1 |
line wrap: on
line diff
--- /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" +