Доброго времени суток всем хабраридерам. Хотел бы с вами поделиться своим опытом по настройке Zend Studio на работу с репозитарием системы контроля версий (CVS/SVN). Хабралюди, имеющие сведения по этой теме могут отписаться в комментариях был ли их путь так тернист как мой, либо где-то в инете нашли они сопутствующую доку.
А все началось с того, что мой проект стал набирать обороты и я перестал один над ним работать. Установив и настроив Subversion я принялся к настройке своей любимой IDE. Сразу хочу заметить, что я настраивал под SVN и данное руководство будет актуально под эту систему, но настройка под CVS сильно отличаться не будет. Итак к делу:
Project -> New Project = Создаем проект и настраиваем его под ваши нужды, попутно если он не локальный добавляем в него (с)фтп и прочие сервера, либо директории оттуда же.
Tools -> Preferences -> Source Control = выбираем актуальную для своего сервер систему контроля версий.
Tools -> Subversion -> Checkout = сюда забегаем чтобы внести настройки для самого сервера. Рассмотри каждую подробнее:
Module url - ссылка на ваш проект, типа svn://ваш_адрес/имя_проекта или http://ваш_адрес/имя_проекта
Working Directory = вот тут собственно у меня и была загвоздка, что я по незнанию своему указывал тут не папку в которой находиться и создан мой проект, а другую совсем папку. Посему и вам советую пр создании проекта сразу создать в нем папку, в которую и будет checkout'иться проект с сервака к вам и обратно.
User Name && Password = авторизация на сервере, думаю и так все ясно.
В дополнительных параметрах ниже можно указать опции, такие как например версия ревизии которую надо слить, по умолчанию льется последняя, но можно же и по другому.
Вот собственно и прошел ваш первый checkout, надеюсь успешно получены файлы с сервера, если нет опишите в комментах.
Ну а дальше работайте с проектом, добавляйте и изменяйте ваше файлы, в общем развивайте проект дружно и commit'те на здоровье.
Здоровая критика и поправки принимаю в комментариях.
комментарии (51)
У тебя еще и видео по этом поводу, помнится, было, ссылка на него тоже, скорее всего, не помешает.
Я когда пытался начать пользоваться eclipse для php проектов, столкнулся с тем, что очень неудобно синхронизировать проект с фтп.
А именно неудобство заключалось в том, что синхронизировались также и .svn каталоги.
Плюс к этому может возникнуть необходимость выложить на фтп старую ревизию.
Если вы предлагаете использовать внешние клиенты, сейчас так и поступаю Far + gvim + TortiseSVN
Как я могу из эклипса экспортнуть ревизию с конкретным номером на фтп?
Я, например, пользуюсь Tortoise SVN и он меня всем устраивает.
Сам я ничего плохого не могу сказать про Zend Studio, т.к. им не пользуюсь (пишу на Perl).
Commit и Update делаю через Shell menu.
Неудобств не испытываю.
Поэтому мой выбор :
windows - Tortoise SVN
linux - KDESvn + KDiff3
скорее - несколько топорная обертка к основным консольным командам svn
Скажите, davojan, вы используете Eclipse для Web-программирования? Если да, то каким плагином (плагинами) пользуетесь? Потому как PHPEclipse мне кажется ну очень недоработанным, а лучшего решения я пока не нашёл.
Спасибо ещё раз, что навёл, а то я уже давно надежду потерял :) Раньше регулярно заходил туда.
у зенда не очень удобный cvs/svn-клиент. тем более, что ревизии, сделанные через Zend конфликтуют с ревизиями, сделанными другими svn-клиентами (Tortoise, SmartSVN)
Сначала сдернул весь проект из svn тортузой.
Затем из этой директории создал в Zend проект.
Поскольку использую SVN over SSH пришлось прописать переменную окружения
SVN_SSH="C:\\Program Files\\PuTTY\\plink.exe"
причем именно так - с двыойными бэкслешами.
пользуюсь одновременно и зендом (5.5) и тортузой - все нормуль
В зенде для меня реально полезна только функция Diff.
И вообще, к зендовому мендеждеру файлов я отношусь с недоверием. Было пару случаев, когда он удалял мне кроме указанного файла все остальные в этой поддиректории.
Настройка:
В ZendStudio - идём в настройки Source Control
Source Control Tools : Subversion
Path to SVN : c:\path\to\your\bat\file
В бат файле пишем строчку -
“C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe” /command:%1 /path:%2 /notempfile
Это реализует простые команды без параметров типа update, commit, log.
http://bege.php.com.ua/2007/03/04/zendstudio-tortoisesvn/
Но одного пока не могу понять, почему я могу делать в зенде только (update|commit|status)
а все остальное недоступно.
Как по мне, так возможности ограничены, а по работе чаще использую svn.exe или TortoiseSVN.
пользую TortoiseSVN параллельно...
Самое обидное, что нет команды delete... с SVN та же проблема видимо, поэтому приходится пользовать еще и Tortoise CVS. Кстати читал на офф сайте Зенда, что дополнительные команды для клиента CVS/CVN в ZS в разработке и появятся в новых версиях студии, но когда это будет - абсолютно не известно...
Ну и ещё много чего, почитайте тут.
Вот если я использую Subversion систему в ZEND, то что прописать в полях формы checkout, если работаю локально?!
Какой именно УРЛ оно хочет в поле Module URL?? И вот папка рабочей директории - это та, в которой лежить .zpj файл? Или та, в которой мои файлы?
Можно рабочий пример, если Вам не сложно?
Пример:
svn://192.168.0.1/var/svn/myproject
http://192.168.0.1/svn/myproject
Что означают преффиксы svn и http? Типа для локальных файлов нужно СВН писать? А для проекта, лежащего в И-Нете ХТТП?
И еще вопрос: если я вот под виндой... + настроен виртуальный сервер на Апаче... что мне написать? Как-то так:
svn://Имя_Моего_Виртуального_Хоста/Имя_Файла_Проекта
Заранее спасибо!
И, хотя я уже достаточно давно и сам все настроил и имею опыт успешной эксплуатации Subversion в Zend Studio 5.5.1, испытываю проблемы при работе с юникодом при чтении комментариев на русском в логах ревизий, а до недавнего времени были еще и проблемы с commit если в комментариях были non-latin символы.
Возможно кому-то будет полезно узнать как я устранил проблему с коммитом:
1. Для начала установите в системе последний релиз SVN http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=8100
2. Укажите в настройках системы контроля версий в Zend Studio путь к бинарнику клиента C:\Program Files\Subversion\bin\svn.exe
3. Для того, чтобы в коммандном интерпретаторе корректно отображались unicode символы нужно установить значение переменой окружения командой: set APR_ICONV_PATH=C:\Program Files\Subversion\iconv
иначе все такие символы будут отображаться как "?\209?\130?\208"
Но вот облом, в Zend Studio при выполнении комманды log после проделанных выше телодвижений уже вместо абракадабры в виде "?\209?\130?\208" выдается кириллический текст НО в неправильной кодировке: "’Ґбв ЄЁаЁ««Ёжл".
Я пробовал менять и настройки глобальной кодировки в Студии и шрифты менял, но все без толку. Такое ощущение, что окно Source Control Output живет по своим законам и не подчиняется настройкам самой студии.
Если кому-то удастся решить проблему чтения кириллических комментариев в логах ревизий, то не сочтите за труд выложить решение сюда.
Пока же, единственный выход - юзать решение ZendStudio + TortoiseSVN описанное выше.
Сам я к счастью перелез на linux, поэтому подобной проблемы не наблюдается.