Subversion. Установка и настройка. День первый.

Допивая крепкий чай, глядя на снег за окном, я занимаюсь тем, до чего руки не доходили уже…наверное год. Разворачиваю репозиторий и учусь с ним обращаться. Откопав где-то в закромах «Pragmatic Version Control using Subversion«, понимаю, что без этой книги было бы намного сложнее 😉

Install

До того, как установить svn, я установил Apache2.2, PHP5 и MySQL5. Вопреки всем своим привычкам, просто не захотев долго возиться, я устанавливал их через apt-get install и понял, что больше этого делать не буду. Очень уж сложно искать по системе где спрятались конфигурационные файлы, как они разбиты и что вообще происходит.

После этого, через тот же apt-get install subversion, установил svn. С ним проще, svn из исходников я не собирал и мне под него подстраиваться не надо =). Ну а чтобы subverion’у не было скучно и, просто из любопытства, я установил следующие пакеты:

  • nautilus-script-collection-svn — скрипты для правой кнопки мыши в Nautilus, что-то вроде TortoiseSVN для *nix
  • python-svn — просто ещё один визуальный клиент для svn написанный на Python
  • rapidsvn — очередной визульный клиент
  • subversion-helper-scripts — набор shell-скриптов, упрощающий жизнь хранителя хранилища =)
  • subversion-tools — ещё один набор вспомогательных скриптов
  • svn-workbench — ещё один визуальный клиент
  • websvn — модуль для web-представления репозитария, написанный на PHP, быстро заработавший после короткой настройки. Показал мне пустое хранилище 😉

Как видно из набора пакетов, я ещё не определился с чем буду работать. Надо сказать, что как латентный виндузятник, я надеялся на средство визуального ухода за репозитарием. И не нашел его. Я думаю, что это отпугивает многих, приходиться читать маны. И на это не всегда хватает терпения.

Setup

Я не буду описывать процедуру создания двух папок для Production и Development версий проекта, настройки виртуальных хостов на разных портах. Скажу только, что у меня есть две папки /var/www/dev/ и /var/www/prod/ с вполне говорящими названиями. А доступ к ним идет через http://localhost/ и http://localhost:8080/ соответственно.

Запасшись софтом с избытком, я приступил к настроке хранилища и начал пытаться представлять как я буду с ним работать.

Для начала хранилище надо создать. Где угодно. Я предпочёл /var/svn/, чтобы поближе к ServerRoot Apache2, чтобы, в свою очередь, не запоминать слишком много ;). Смело пишем в терминале от рута:

cd /var
mkdir svn
svnadmin create /var/svn

Заодно запоминаем, что хранилищем руководит команда svnadmin.

Репозиторий есть. Теперь надо туда положить что-нибудь временное, чтобы потом оттуда это забрать и сделать рабочей копией ;). Сейчас стане понятней.

Создаем временную папку. Где угодно. Допустим, mkdir /home/svn_tmp. Кладем в неё файлик, допустим, index.php, в котором пишем:

<?php
echo "dev workin'";
?>

Теперь, находясь в этой папке импортим файлик в хранилище, создавая проект:

svn import -m "Creation" . file:///var/svn/project_name/trunk

Здесь «-m» — это добавление комментария, «.» — это все файлы текущей директории, ну а далее идет путь к хранилищу и проект, куда надо импортировать файл.

По рекомендации умной книги (и пока еще не осознав, зачем), в папке с проектом (которая project_name) существуют три поддиректории: trunk, branches, tags. О назначении каждой из них я ещё расскажу. Кстати, неверно думать, что пойдя в /var/svn/, вы увидите там поддиректорию с проектом 😉 всё хранится в псевдоБазе данных. Поэтому искать там не стоит.

Хранилище у нас есть. Проект тоже. Теперь надо сделать рабочую копию, с которой и будем работать впредь, периодически коммитя результаты в хранилище и синхронизируя с продуктивной версией. Рабочую копию я буду держать в /var/www/dev/, чтобы отлаживать было просто. И чтобы коммитить пакетами, а не после каждого сохранения. «Стоя» в папке /var/www, пишем:

svn co file:///var/svn/project_name/trunk dev

Сдесь у нас «co» — это checkout (синхронизировать с хранилищем), дальше путь и в конце название папки, где будет храниться рабочая копия. Если все прошло хорошо, то теперь у нас в папке /var/www/dev/ живет файлик index.php и скрытая папка .svn, в которой лежит мета-информация Subverion.

Это было начало пути. И, в принципе, насколько я понимаю, checkout можно было не делать. Можно было его сделать в subClipse, указав ему на репозиторий. Но это я буду проверять завтра

Реклама

Один ответ to “Subversion. Установка и настройка. День первый.”

  1. StraNNicK Says:

    dpkg -L имяпакета помогает ответить на вопрос «а что он куда раскидал?»

    Так что можно и с apt-get’ом жить…

Добавить комментарий

Please log in using one of these methods to post your comment:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s


%d такие блоггеры, как: