doc/tools/portsgrowth/getinfo.sh
Alexey Zelkin c9f5b9bcf1 Due to cvs(1)'s bug/feature checkout using date of commit generates
content of the previous revision. So, to get correct numbers we need
to refer revision number directly
2002-05-20 14:33:43 +00:00

44 lines
954 B
Bash

#!/bin/sh -ex
#
# Refresh source file used for ploting ports growth status.
#
# Get an information about all revisions listed in 'cvs log' and merge
# it with our current list. This lets us keep info about revisions that
# have been axed from the repository during ports/INDEX cleanup.
#
# $FreeBSD: www/tools/portsgrowth/getinfo.sh,v 1.2 2002/05/20 11:33:17 phantom Exp $
CVSCMD='cvs -QR'
INDEX=ports/INDEX
echo "*** Refreshing ports.log status"
cp ports.log ports.log1
$CVSCMD co $INDEX
$CVSCMD log $INDEX |
awk '$1 ~ /^revision/ {
print $2
next
}
$1 ~ /^date/ {
print $2 " " substr($3, 1, length($3)-1)
next
}' |
while read rev ; do
read date
grep "$date" ports.log > /dev/null 2>&1
if [ $? = 1 ]; then
echo $date
$CVSCMD up -r "$rev" $INDEX
echo $date $(wc -l < $INDEX) >> ports.log1
fi
done
# Remove dupes.
sort -u ports.log1 > ports.log
# Cleanup
rm ports.log1
rm -r ports