cmdutil: only output style header once in non-buffered mode (
issue2130)
#!/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 > 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"