Давно хотел попробовать что-то из серии CVS, но как говорится "руки не доходили". Понадобилось это мне потому, что периодически возникает ситуация при разработке проекта, когда нужно вести разработку новой версии одновременно с текущей, а потом новую версию сливать в текущую.
Остановился на Subversion, не знаю даже почему, т.к. в этом деле новичок. Доку по ней можно почитать тут:
http://svnbook.red-bean.com. Все установки производил на компе под управлением Windows XP SP2.
Бинарники Subversion под винду берем
здесь. Мне попался svn-1.4.3-setup.exe, который я поставил в c:\Subversion. В процессе установки отказался от пункта модификации конфига апача.
Если брать zip-архив, то придется создать переменную окружения APR_ICONV_PATH = c:\subversion\iconv, и в PATH добавить путь c:\subversion\bin.
Настраиваем Apache. В httpd.conf включим модули DAV, добавим 2 модуля SVN и прописываем Location с указанием хранилища репозиториев:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module "C:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Subversion/bin/mod_authz_svn.so"
...
<Location /svn>
DAV svn
SVNParentPath d:\repos
</Location>
Создание репозитория делается с помощью команды
svnadmin create --fs-type fsfs testproject
(вместо fsfs можно bdb), текущим каталогом при этом должен быть SVNParentPath, т.е. d:\repos.
Теперь добавим поддержку SVN в Eclipse. Для этого используем плагин
subclipse. Там все расписано и установка не займет проблем. В случае отсутствия инета можно использовать zipped-версию, скачанную на другом компе. Я брал site-1.2.0.zip и устанавливал как "New archived Site".
В eclipse появится перспектива SVN Repository Exploring, и там указываем наш тестовый репозиторий проекта: http://localhost/svn/testproject. Через "New remote folder" в контекстном меню создаем нужные папки/ветки разработки:
trunk - текущая (основная) разработка,
tags - тут будут папки с релизами,
branches - а тут будут временные ветки будущих версий (они потом сольются в trunk).
Чтобы поместить существующий проект Eclipse в SVN используем контекстное меню "Team - Share project" в окне, скажем, "Navigator". Выбираем тип репозитория SVN. В качестве Repository Location указываем существующее http://localhost/svn/testproject, потом имя/папку проекта, небольшой коммент по импорту, жмем Finish и выбираем файлы для commit.
Управление SVN ведется через контекстное меню Team. Основные команды - update и commit. Но об этом в другой раз.