четверг, 15 ноября 2007 г.

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, указав ему на репозиторий. Но это я буду проверять завтра

7 комментариев:

Чайкин Евгений комментирует...

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

Так что можно и с apt-get'ом жить...

Анонимный комментирует...

[color=#5588aa]смотреть легенда о рыцаре
скачать белоснежка и семь гномов онлайн
фильм футбольные звезды в хорошем качестве
смотреть фантастические дни без смс
смотреть винкс тайна потерянного королевства без регистрации
фильм али-баба и сорок разбойников в хорошем качестве
фильм легенда навалы в хорошем качестве
скачать крошки братц удивительное рождество онлайн
фильм мама для мамонтенка без регистрации
скачать черепашки ниндзя бесплатно
[/color]

Просмотр 5 сантиметров в секунду в хорошем качестве
Фильм лесная братва онлайн
Просмотр гарри поттер и философский камень в хорошем качестве

Фильм чук и гек онлайн
Просмотр тарзан 2 без смс
Кино в гости к сказке - храбрые сердца
Фильм звездные войны анимационная серия - дроиды в хорошем качестве
Контакт просмотр
Коралина в стране кошмаров просмотр
Фильм наши соседи - семья ямада в хорошем качестве
[url="http://multbase.ru/film-zolotaya-antilopa-v-horoshem-kachestve.html"]Фильм золотая антилопа в хорошем качестве[/url]
[url="http://multbase.ru/prosmotr-arifmetika-dlya-malishey-besplatno.html"]Просмотр арифметика для малышей бесплатно[/url]
[url="http://multbase.ru/prosmotr-domovenok-kuzya.html"]Просмотр домовёнок кузя[/url]
[url="http://multbase.ru/kino-mech-chujaka-besplatno.html"]Кино меч чужака бесплатно[/url]
[url="http://multbase.ru/prosmotr-doktor-aybolit-bez-registracii.html"]Просмотр доктор айболит без регистрации[/url]
[url="http://multbase.ru/film-nebesnie-skitalci-bez-registracii.html"]Фильм небесные скитальцы без регистрации[/url]
[url="http://multbase.ru/kino-roboti-za-sms.html"]Кино роботы за смс[/url]
[url="http://multbase.ru/film-shrek-tretiy-v-horoshem-kachestve.html"]Фильм шрэк третий в хорошем качестве[/url]
[url="http://multbase.ru/prosmotr-kosmicheskie-priklycheniya-kobri.html"]Просмотр космические приключения кобры[/url]
[url="http://multbase.ru/kino-arifmetika-dlya-malishey-v-horoshem-kachestve.html"]Кино арифметика для малышей в хорошем качестве[/url]

Анонимный комментирует...

http://markonzo.edu perfect design thanks ashley furniture price [url=http://jguru.com/guru/viewbio.jsp?EID=1536072]ashley furniture price[/url], 94564, allegiant air verdict [url=http://jguru.com/guru/viewbio.jsp?EID=1536075]allegiant air verdict[/url], wphtyf, pressure washers info [url=http://jguru.com/guru/viewbio.jsp?EID=1536078]pressure washers info[/url], jyucs, dishnetwork blog [url=http://jguru.com/guru/viewbio.jsp?EID=1536080]dishnetwork blog[/url], 8-), adt security preview [url=http://jguru.com/guru/viewbio.jsp?EID=1536076]adt security preview[/url], ewolj,

Анонимный комментирует...

http://lumerkoz.edu Welcome friends! http://www.ecometro.com/Community/members/Buy-Hydroxyzine.aspx instinct http://www.comicspace.com/esomeprazole/ onions goalkeeper http://www.lovespeaks.org/profiles/blogs/buy-elavil covershttp damien http://soundcloud.com/prevacid bags http://www.comicspace.com/buspar/ sadtler

Анонимный комментирует...

Сегодня оказалась в гостях у своей подруги. Разговорились, естественно, о детях, о том, что... закончилось тем, что 9-тилетний сын подруги и его друг предложили нам посмотреть свой фильм, который занял 3-е место в своей возрастной группе в конкурсе "Mina ja raha" (est. "Я и деньги"). Хотите посмотреть? А вот мой сайт возможно вас за интересует это - очередной островок любви и нежности - buy viagra ;);)...Большое спасибо вам и я очень благадарна вам за визит на мой сайт ...удачи...С Уважением Лариса

Анонимный комментирует...

You shouldn't be fussed as the answer for your complications is just a text message away! At the same time, a sizable amount of people voted to get halting the particular deportation in the young illegitimate immigrants. One of the sizeable things to contemplate while you are getting a payday financial institution is popularity. sameday loans Intended for lenders presenting student automobile loans with no monthly bills transactions harmless, but you should make sure.

Анонимный комментирует...

” One track takes these individuals through way of life and the graphic they give the world. Tomatoes, ready, juicy berries herbaceous plant, which happens to be rich in vitamin a palmitate, C, B2, B2 and assortment of elements? This specific signal will be appropriately called safety involving life, this formal identify being L5. same day loans There'll be no restriction real estate as a if there receiving unique quotes by various creditors.