RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
При работе надо одним проектом более чем одного разработчика возникает проблема синхронизации результатов их, так сказать, деятельности. Кроме того, даже один человек может параллельно работать над несколькими версиями проекта. Существенно помогает в этом система контроля версии SVN. На FreeBSD необходимо поставить порт subversion.
# cd /usr/ports/devel/subversion && make install clean
Создаем директории web-репозитория, например
# mkdir -p /usr/local/www/apache22/data/svn
# mkdir -p /usr/local/www/apache22/data/svn/repos
В конфигурации виртуального сайта следует написать следующие строки:
Разрешаем DAV и устанавливаем HTTP-авторизацию. Естественно нужно создать файл с паролями:
# cd /usr/local/etc/apache22/svn
# htpasswd -b -c -d .htpasswd svnuser svnpassword
Теперь для каждого проекта создаем одноименную директорию, импортируем в виртуальную директорию trunk файлы из директории проекта, а также создаем ветку проекту соответствующей версии:
# svn import /usr/home/myuser/projects/myproject file:///usr/local/www/apache22/data/svn/repos/myproject/trunk -m "My first project"
# svn copy --parents file:///usr/local/www/apache22/data/svn/repos/myproject/trunk file:///usr/local/www/apache22/data/svn/repos/myproject/branches/0.0 -m "Project ver 0.0"
В принципе svn-примитив готов, надеюсь смысл понятен.
В заключение приведу несколько полезных команд для работы с файловой системой FreeBSD. Речь пойдет о изменении владельца и прав доступа для большого количества файлов одновременно (естественно имеется в виду сайт или тот же svn-репозиторий).