Fork me on GitHub

The WebDevil

Enjoy development

Я много слышал о том, как прекрасно и удобно использовать в разработке CVS. После этого я также слышал, что вместо CVS стоит обратить внимание на Subversion. Так как я в этом деле новичек (единожды использовал CVS), то я решил сразу попробовать Subversion.

Я думаю, нет смысла особо долго рассказывать, для чего это нужно. Если в кратце, то…

CVS (Concurrent Versions System) является системой управления версиями (version control system): она хранит историю изменений определённого набора файлов, как правило исходного кода программного обеспечения, и облегчает совместную работу группы людей (часто — программистов) над одним проектом. CVS популярна в мире открытого ПО.

http://ru.wikipedia.org/wiki/CVS

Subversion — свободно распространяемая система управления версиями с открытым кодом. Subversion разработана специально для замены CVS, самой распростанённой открытой системы управления версиями (англ. subversion — свержение). Она обладает всеми основными функциями CVS (хотя некоторые из них выполняет другими способами) и лишена ряда её недостатков.

http://ru.wikipedia.org/wiki/Subversion

Могу сказать, что интегрировать их мне удалось, что оставилодовольно приятное впечатление.

Итак, как все это делалось…
Итак, ОСь. У меня стоит на вирт. машинке Debian testing (Etch). Там-то и ставил пакеты:
apt-get install subversion subversion-tools libapache2-svn websvn
Вломил. Теперь, как говорил великий man, делаем пару простых телодвижений:
#создадим дерево для нашего проекта, который лежит по указанному пути.
svnadmin create /home/dm/svn/ion-core
#втянем его в дерево. Что значит -m “” – без понятия.
svn import /home/dm/www/ion-core file:///home/dm/svn/ion-core -m “Initial import”
#Теперь локально на машинке чтобы воссоздать проект (вывалить его из репозитария) в папку project, делаем так:
svn сheckout file:///home/dm/www/svn/ion-core project

Теперь я приступил к апачу. Модуль апача, который был установлен ранее, позволяет рулить по дереву проекта и коммитить файлы. В общем, то что мне и нужно.
Следуя коментам, делаем аутенфикацию, выполнив следующее:

$ htpasswd2 -c /etc/apache2/dav_svn.passwd dm
New password:
Re-type new password:
Adding password for user dm

Так, теперь если надо, мы вбиваем сюда и других юзверей:
$ htpasswd2 -m /etc/apache2/dav_svn.passwd

Далее, надо подредактировать конфиг модуля:

nano /etc/apache2/mods-available/dav_svn.conf

#дальше я немного помучался, но в общем не считая коментов, начинка файла стала такой:

<Location /svn>

DAV svn
SVNPath /home/dm/svn/ion-core
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd

</Location>
Стоит заметит, что там есть кусок, который дает анонимусу получить сорсы. А вот если он включен, то закоммитить изменения нельзя!

Теперь финальный
$ /etc/init.d/apache2 restart

и топчем к нашему прожекту из зенда.
В качестве URL указывать http://<host.ip.or.dns>/svn
Но честно-говоря, я еще попозже попробую заводить svn’ы только на нужных vhost’ах.

4 Responses to “Интеграция Zend Studio 5.1 и Subversion”

  1. Образец того, как не надо писать статьи. Непонятно ничего. Т.е. вообще ничего.
    Интеграция есть в самом Зенде. А вот как SVN настроить, где держать рабочие копии и как их соотносить с локальной версией web-проекта – здесь может и рассказано, но на неведомом мне языке и уровне полёта мысли.

    Александр

  2. Ок, скажу иначе. Цель была поместить локальные файлы в репозитарий, а потом попробовать работать с репозитарием из зенд студио.

    dm

  3. -m “Камент для ревизии”. без этого параметра он запускает vi и интерактивно спрашивает описание версии.

    Sol

  4. Спасибо, заметку писал давно, и тогда не разбирался. Сейчас уже знаю и умею.

    dm