BRANCHES=`tempfile`
HEADS=`tempfile`
if [ ! $# = 1 ]; then echo usage $0 cvs-log-file >&1; exit 1; fi

< $1 cvs-log-branches > $BRANCHES

< $1 grep -a '^3' | kutout 1 | process N 'splice @row, 1, 1, $row[1] =~ /^(.*)\.([^\.]+)$/' |
(echo; delimit 1 2) | grep -A1 '^$' |  grep -v -e '^$' -e '--' | kut 1 2 3 | order 1 2 > $HEADS

< $BRANCHES kut 1 2 | lookup $HEADS | kutout 1 2 | paste $BRANCHES - | kut 3 1 2 4 | order 1 |
process 'if ($revision eq "") { $branch =~ s/\.[^\.]+$//; } else { $branch .= ".$revision" }' tag file branch revision |
kutout 4

rm $BRANCHES $HEADS
