Вт. Ноя 11th, 2025
Subversion (svn)

Subversion — это система управления версиями файлов с открытым исходным кодом. Систему в частности удобно применять при работе над интернет-проектами (как самостоятельно, так и в составе группы разработчиков), для отслеживания всех изменений, и возможности восстановить нужную версию из репозитория. В статье описан алгоритм установки и настройки сервиса для Linux CentOS.

1. Сначала поставим необходимые пакеты:

#sudo yum install subversion

2. Создадим отдельную папку под репозитории:

#sudo mkdir -p /var/svn/

3. Создаём репозиторий проекта:

#svnadmin create /var/svn/project_name/

4. Отредактируем конфигурационный файл репозитория:

#nano /var/svn/project_name/conf/svnserve.conf

и раскомментируем строчки не оставляя пробелов перед ними:

auth-access = write
password-db = passwd
realm = Project’s name

5. Настроить доступ по связке логин-пароль. Делается это в файле:

#nano /var/svn/project_name/conf/passwd

6. Репозиторий создан, теперь его нужно наполнить данными. Для этого переходим в каталог, где хранятся нужные данные, и даем команду:

$ svn import -m «Initial dissertation state» file:///var/svn/project_name/

здесь указывается полный путь до репозитория.

Команда svn import помещает содержимое текущего (и всех вложенных) каталога в репозитарий. При этом выводится номер ревизии.

7. Для того, чтобы начать работать с файлами, переходим в какой-нибудь другой каталог (где будет хранится рабочая копия для отслеживания изменений) и просим Subversion выдать нам последнюю копию из репозитория:

#svn checkout file:///var/svn/project_name/

в результате чего в текущем каталоге получим локальную копию данных из репозитория.

8. Запускаем subversion как демон:

# svnserve -d

10. После внесения нужных правок, что бы посмотреть, какие файлы были изменены выполняем команду в каталоге, где находится рабочая копия данных, с которыми работали:

#svn status

11.Что именно изменено в файлах:

#svn diff

12.  Загружаем результаты обратно в репозиторий

#svn commit —message «minor edition in tex-files»

После ключа —message пишем в кавычках короткое сообщение, чтобы отличать одну правку от другой.

13. Данные изменили, теперь применим их к основному проекту:

# svn export file:///var/svn/project_name/ /sites/mysite.ru/html —force

14. При необходимости, вернуться к предыдущей ревизии:

 # svn export  file:///var/svn/project_name/ /sites/mysite.ru/html —force -r1

, где -r1 – номер ревизии.

 

Дополнительная литература:

Русская документация по Subverssion

2 комментарий для “Установка и настройка Subverssion на CentOS”

Комментарии закрыты.