Как заходит дело до обновления исходников и портов во вновь установленной системе, начиная с FreeBSD 9.0, вечно забываю какие команды писать для SVN. (полное название утилы — subversion.) Кстати придумал и поддерживает сие продуктивное решение никто иной, как Apache Project. Вот решил сделать запись чтоб не рыться долго в хэндбуке. https://www.freebsd.org/doc/ru/books/handbook/
Вся процедура, собственно, четко описана в нём, https://www.freebsd.org/doc/handbook/svn.html , но мы все напишем еще раз, мож лучше запомнится =). Повторение, говорят, мать заикания.Итак, после установки FreeBSD 10, лучше не распаковывать ports.txz и src.txz, если есть широкая полоса инета, а сразу перетянуть самые новые порты и исходный код с SVN сервера. Если нету мега-полосы, то печально, т.к. придется долго смотреть на картину добавления. Хотя хэндбук крайне рекомендует убить все содержимое папок для синхронизации с SVN и сделать checkout на чистых папках, т.к. возможны суровые конфликты синхронизуемого.
Все было бы хорошо, но в ранних версиях FreeBSD нужно было сначала поставить subversion одним из следующих способов, а уж потом им пользоваться:
Из портов:
make install clean
Из пакетов:
Но тут возникает проблема. В первом случае не распаковав портов мы ничего не поставим, а во втором для установки пакетов будет из инета вытянута гора пакетов и зависимостей в том числе. Проведение двойной работы слегка напрягало конечно, но в freebsd 10 есть своя родная утилита упрощенного характера, чтобы не делать ненужных телодвижений. Называется она svnlite и является частью мира, т.е. поставляется вместе с системой прямо из каропки.
Чего в ней упрощено по сравнению с subversion выяснять особо интереса не было, т.к. необходимые задачи по обновлению портов и сырцов она решает также как и полная утила.
Основным назначением SVN является синхронизация удаленного ресурса и локального в системе. Вся процедура делается в два шага:
Checkout или co делает первичную синхронизацию и создает базу данных локального размещения папки с синхронизуемым.
Update сравнивает базу данных в корне директории обновления, удаляет и дописывает файло, считая удаленный сервер эталоном, где:
svn-mirror это URL зеркал обновлений , они есть тута: Subversion mirror sites.
repository это репозитории системы, разделенные на base, ports, или doc.
branch это ветка обновлений. ports и doc чаще всего обновляют в ветке head. Репозиторий base для стэйбла восьмой версии, соответственно 9-ой и 10-ой: stable/8, stable/9, stable/10.
lwcdir это путь к папке, куда будет синхронизироваться содержимое: /usr/ports для ports, /usr/src для base, и /usr/doc для doc.
Русское зеркало в Москве svn0.ru.FreeBSD.org, поддерживает протоколы svn, http, https, rsync.
Ну а теперь приведем команды для синхронизации портов и кода ОС протоколом svn с основного сайта FreeBSD:
Дальнейшая синхронизация этих директорий выполняется просто:
Ну и для тех, кто хочет в живую поглядеть и пошастать по веткам репозиториев милости просим сюда http://svnweb.freebsd.org/
Вот теперь и сам не забуду, мож и поможет кому..
Спасибо, за простые и ПОЛЕЗНЫЕ заметки!