Subversion - це система управління версіями файлів з відкритим вихідним кодом. Систему зокрема зручно застосовувати при роботі над інтернет-проектами (як самостійно, так і в складі групи розробників), для відстеження всіх змін, і можливості відновити потрібну версію з репозиторію. У статті описаний алгоритм установки і настройки сервісу для Linux CentOS.
1. Спочатку поставимо необхідні пакети:
#sudo yum install subversion
2. Створимо окрему папку під репозиторії:
#sudo mkdir -p / var / svn /
3. Створюємо репозиторій проекту:
#svnadmin create / var / svn / project_name /
4. Відредагуємо конфігураційний файл сховища:
auth-access = write
password-db = passwd
realm = Project's name
5. Налаштувати доступ по зв'язці логін-пароль. Робиться це в файлі:
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 як демон:
10. Після внесення потрібних правок, що б подивитися, які файли були змінені виконуємо команду в каталозі, де знаходиться робоча копія даних, з якими працювали:
11.Что саме змінено в файлах:
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 - номер ревізії.