19 Июнь 2008

SVN — быстрый старт (how-to руководство)

posted in PHP, Разработка |

Недавно я решил наконец-то начать использовать систему контроля версиями и выбрал (Subversion). Он изначально был установлен на моем Linux Fedora, но вы можете и сами легко установить его на своей системе Fedora используя команду yum install subversion или найти RPM subversion.

Теперь хочу поделиться с вами небольшим мануалом по быстрой настройке, и не буду рассказывать, что же такое SVN и как он работает, будем считать, что вы знакомы в теории с ним и хотите наконец-то быстро попробовать его в работе. Объяснять буду на примере.
У меня есть PHP проект в /var/www/html/docs/haibuy. У Apache есть Virtualhost haibuy. Мой IP в локальной сети 192.168.1.7.

Вначале нам надо создать ‘хранилище’, где буду «жить» наши проекты. Для всех проектов можем создать одно хранилище. Итак я создал каталог /svn. А потом запустил команду:

svnadmin create /svn/repository

И получил поддирукторию repository в in /svn с собственной структурой подкаталогов.

В хранилище пока нет проектов и надо импортировать туда шаг проект. Чтоб использовать всю мощь SVN с созданием веток вашего проекта, рекомендуется использовать такую структуру каталогов:

/path/to/project
          |- trunk
          |- branches
          |- tags

В trunk находится текущая версия, над которой ведется.
Импортируем проект в хранилище:

svn import /path/to/project file:///path/to/repos/project -m "Comment"

В моем случае:

svn import /var/www/html/docs/haibuy file:///svn/repository/haibuy -m "Comment: initial import"

Теперь модем удалить проект из /var/www/html/docs/haibuy (или просто скопируйте в другое место, елси боитесь).
В качестве клиентского приложения я использую Eclipse с плагином Subclipse.
Также использую PHP nightly плагин. Чтоб установить их оба запустите Eclipse. Потом зайдите в «Help->Software Apdates->Find and install», выберите «Search for new freatures to install» и «New remote site…» «PHPEclipse Nightly» с URL:
http://update.phpeclipse.net/update/nightly и «Subclipse» с URL:
http://subclipse.tigris.org/update_1.2.x. После этого Subclipse и PHP Eclipse будут установлены. перегрузите Eclipse и зайдите в Window->Open Perspective->Other… выберите PHP. Теперь у вас есть хорошая PHP среда. Давайте создадим новый проект ‘haibuy’: New->Project->SVN->Checkout Projects from SVN. Создадим новое месторасположение хранилища. Так как хранилище на одной с нами машине, мы можем указать путь таким образом: file:///svn/repository/haibuy/trunk. Дальше «Next», выбираем верхнюю папочку и снова «Next», теперь выбираем куда сохранить нашу рабочую копию. Я ввел: /var/www/html/docs/haibuy, так что моя рабочая копия сразу на веб-сервере.
Теперь вы можете использовать подменю Team в контекстном меню (клик правой кнопкой мыши на проекте или файлах проекта) для работы с SVN. Чтобы получить последнюю из хранилища: Team->Update. Чтоб закачать в хранилище свои изменения: Team->Commit…

Теперь нам надо сделать, чтоб хранилище было доступно с других машин в сети. открывает файрвол и добавляем порт 3690 TCP протокол в разделе ‘Other Ports’.
Теперь надо стартовать демон для SVN сервера.

svnserve -d

Все, у хранилищу можно подключаться с других машин. в моем случае путь будет такой: svn://192.168.1.7/svn/repository/haibuy/trunk

Другой разработчик работает под Windows XP и использует клиент TortoiseSVN. Все работает отлично.

P.S.: чтобы проверить, открыт у вас порт 3690 или нет и запущен демон svnserve, запустите команду «telnet 192.168.1.7 3690» с другой машины.

У нас 14 комментариев на запись “SVN — быстрый старт (how-to руководство)”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 19.10.2008, Владимир said:

    Спасибо. Очень помогло.

  2. 2 On 20.10.2008, scorpio said:

    Рад, что мои мучения не прошли зря ) Кому то еще помогли

  3. 3 On 28.11.2008, safright said:

    хм, вопрос такой — а как «переехать» svn на юникод? у меня комменты к прогам на русском в чер-те что превращаются 🙁

  4. 4 On 28.11.2008, scorpio said:

    ну надо чтоб сами исходники были в юникоде

  5. 5 On 31.12.2008, Andrew said:

    хе-хе. Недавно аналогично с сабвершином разбирался. Тоже мануал для себя написал)

  6. 6 On 21.03.2009, Саша said:

    Спасибо. Скоро внедрю по вашей статье) очень помогло. Может и не в тему, но спрошу.
    Еще бы про авторизацию чуть чуть сказать, ведь по умолчанию от анонимусов нельзя коммитеть(вроде, у меня не получилось).

  7. 7 On 21.03.2009, scorpio said:

    да, там есть конфиг файл с логинами/паролями svn-пользователей (не помню точный ).

    а есть утилита svn-manage-users.

    Я пользовался первым спрособом.

  8. 8 On 27.07.2009, Евгений said:

    >>Другой разработчик работает под Windows XP и использует клиент TortoiseVPN.
    исправте на TortoiseSVN

  9. 9 On 28.07.2009, scorpio said:

    Спасибо, поправил 😉

  10. 10 On 26.01.2012, Олег said:

    Подскажите как сделать, чтобы хранилище было на локальной машине, а PHP проекты на сервере. Как это настроить?

  11. 11 On 28.02.2012, yAnTar said:

    І мені пригодився твай запис, сьогодні поставив svn — все за твоїм мануалом.
    Перед тим як ставити навіть не шукав в неті, а зразу на твій блог поліз, бо згадав, що ти колись писав.

  12. 12 On 29.02.2012, scorpio said:

    сколько лет прошло, а статейка все еще полезна людям 🙂

  13. 13 On 03.04.2012, MAndrey said:

    точно, сегодня пришлось осваивать SVN срочном порядке 🙂

  14. 14 On 19.04.2018, Как находят блог » Владимир Осипов said:

    […] svn — статья SVN — быстрый старт 2. спальник tnf aleutian — пост о покупке спальника 3. svn […]

Оставить комментарий