subversion1

Вот пришло время и мне переводить сервера для обновления портов и исходников на subversion. 28 февраля 2013 года поддержка cvs была прекращена и для обновления дерева портов нужно было задействовать subversion. Для начала понадобится сам subversion. Взять его можно в портах: devel/subversion. Если у вас очень старая версия портов, то devel/subversion-freebsd.

Ищем

# whereis subversion
subversion: /usr/ports/devel/subversion
# cd /usr/ports/devel/subversion && make install clean

Далее переменовываем старые папки с исходниками и портами (можно конечно удалить, но если что-то пойдет не так. то можно будет все вернуть, а удалим их как все пройдет нормально)

# mv /usr/ports/ /usr/ports_old
# mv /usr/src/ /usr/src_old

После этого можно папку distfiles можно вернуть на место, чтоб не качать дистрибутивы по новой.

Обновляем порты


# svn co svn://svn.FreeBSD.org/ports/head /usr/ports

Обновляем исходники

# svn co svn://svn.freebsd.org/base/releng/8.2/ /usr/src

В данном случае скачивается релиз 8.2 (releng/8.2/). Узнать существующие актуальные ветки можно на сайте FreeBSD. Все существующие ветки можно просмотреть через веб-интерфейс для svn по адресу: svnweb.freebsd.org.

Если будут трудности с протоколом svn, то можно заменить протокол svn на http или https: svn.freebsd.org/base/releng/8.2/.

Адреса всех зеркал можно найти на в хендбуке.

Для обновления портов можно написать короткий скрипт, к примеру:

#!/bin/sh
'/usr/local/bin/svn' update /usr/ports
'/usr/local/bin/svn' update /usr/src
'/usr/local/bin/svn' update /usr/doc
'/usr/local/sbin/portsdb' -F
'/usr/local/sbin/portsdb' -u
'/usr/local/sbin/pkgdb' -uFa
'/usr/local/sbin/portsclean' -DDL
'/usr/sbin/pkg_version' -v -L=
'/usr/local/sbin/portaudit' -Fda

Вы можете сами указать то что надо обновить. Я поместил скрипт в файл svn-update и в /usr/local/bin/ и дал root права на запуск

# chmod +x /usr/local/bin/svn-update

Ну вот впринципе и все переход с cvs на svn на этом закончен.