Ниже представлено три скрипта и supfile к каждому из них.

Скрипты берут supfiles из /usr/local/etc/cvsup, логи пишутся в директорию /var/log/cvsup и ротируются самими скриптами, скрипт cvsrelease47 кроме того копирует в директорию логов содержимое /sys/i386/conf. Скрипты cvsrelease47 и fix47release для cvsup'а FreeBSD RELEASE-4.7 и патчей соответственно. Могут быть применены для всех релизов начиная с 4.3 соответствующей заменой тегов в supfiles.

Срипт cvssrc может быть использован для cvsup 4-Stable, стягивает только sources для 4-Stable с тегом tag=RELENG_4.

Скрипты пишут логи по которым гораздо удобнее смотреть где были изменения чем разбираться по checkout. Если из скриптов убрать вывод сообщений, можно запускать через cron.
Каждый может изменить скрипты под себя, добавить удаление checkout и тд и тп. Скрипты легко правятся, убрать ввод-вывод и можно запускать по крону, заменить тег в supfile и использовать под нужный RELEASE.

Примечание: Будьте внимательны с тегами: tag=... особенно если используете один sup-файл для всего: sources, ports, doc. либо прочтите мое старое руководство по cvsup, либо про апгрейд через cvsup и теги cvsup в handbook'е.