пятница, 16 ноября 2007 г.

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

Вводная

Сегодня будем заниматься кристаллизацией workflow. Т.е. пытаться понять, как именно врезать svn в процесс разработки. Я уже приводил свои мысли на этот счет. Мои идеи были сформированы под воздействием пары веток форума и нескольких невнятных статей ;). Правда совершенно недавно я наткнулся на статью. в которой есть даже картинка ;) Но в этой статье описана теория (зато есть картинка, очень наглядная). Меня же в силу неМифических сроков сдачи интересует практика. К ней и приступим.

Настраиваем Eclipse 3.3

Первое, что пришлось сделать - установить права на папку /var/www и все её подпапки. На запись права были только у рута, это мы изменили, набрав в терминале chmod -R 777 /var/www. Теперь право на запись есть у всех, и мы можем спокойно с ней работать из Eclipse. Второе, что пришлось сделать, это установить права и на папку /vwr/svn/, набрав ту же команду. На будущее стоит запомнить, что репозитории и папки с проектом лучше держать у себя в домашней папке. Или в той, от имени кого запускается Eclipse. В принципе, можно было сделать и gksudo eclipse, но это как-то совсем против правил =)

Далее — маленький фокус. Нужно настроить папку с workspace Eclipse таким образом, чтобы разработка шла по созданным выше адресам. Т.е. текущий проект Eclipse (в моем случае) должен разрабатываться в папке /var/www/dev/. Для этого меняем workspace: "File->Switch Workspace->Other". А в окошке пишем /var/www.

Теперь надо настроить репозиторий. Переключившись на perspective SVN Repository (доступную после установки subClipse), тыкаем правой кнопкой на левой части окна и выбираем "New->Repository Location". В появившемся окне пишем file:///var/svn/, или где там у вас хранилище. Должно случиться чудо, и отобразиться структура хранилища. У меня, в силу вчерашнего дня отобразилось следующее:

  • file:///var/svn/
    • project_name
      • trunk
        • index.php 1

Checkout

Связь есть, надо делать checkout. Т.е. забирать текущую версию из репозитария себе. На доработку. Правой кнопкой на "папке" trunk и в меню выбираем "Checkout..." В открывшемся окне стоит установить верхний радиоБатон в положение "Checkout as a project in the workspace" и вписать имя проекта "dev". Таким образом, мы получим настроенный ранее в Apache структуру /var/www/dev/, которая будет доступна из браузера по http://localhost/. Отлично.

Commit

После того, как файл появился у нас в workspace, можно его отредактировать. Перейдем на perspective PHP (она пришла вместе с PDT) и отредактируем файл. Напишем что-нибудь веское, чтобы доказать себе, что оно работает ;) Теперь в левой части окна, в PHP Explorer, который отображает нам workspace, кликнем правой кнопкой на этом файле и выберем "Team->Commit..." На что получим предложение написать что-нибудь для истории, выбрать файлы, которые необходимо закоммитить и нажать "OK".

Можно приступать...

Вот, в принципе, и всё, что я хотел узнать за сегодня. Если дойдут руки, надо будет написать внятную и подробную статью где-нибудь на Хабре (и прославиться ;), с картинками красивыми и прочим. Но это будет не раньше, чем я отшлифую навыки пользования этой связкой. Ну и на проектах не будет посвободнее в плане времени. Т.е...видимо не скоро =)

3 комментария:

easyearning комментирует...

Вопрос к вам интересный, Как вам еклипс по сравнению с Зендом, думаю просто что ставить (Zend ломаный найден под Linux).

BTheMad комментирует...

Судите сами. Я работаю в PDT, который частично разрабатывался ребятами из Zend. Насколько я понял, PDT - это тренировка перед ZS Neon, который конечно, платный и новый. И возможностей у него побольше.
На мой взгляд, ZS намного превосходит по удобству все другие IDE под PHP.
Я использую PDT лишь потому, что воровать не хочется, а платить за Zend тоже пока не хочется.
Касательно интеграции со сторонними вещами (debug, svn), Zend тоже выигрывает, поскольку в нем всё это работает "из коробки", а в Eclipse надо настраивать. Зато с Eclipse интересно ;)

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

еще есть такая вещь как phpeclipse, сторонний плагин для php под эклипс. развивается очень медленно, очень глючный - но бесплатный. Лично мне воровать тоже неприятно, поэтому я планирую затачивать напильником его и юзать :)