<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Персональный блог Валерия Леонтьева &#187; SVN</title>
	<atom:link href="http://valera.ws/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://valera.ws</link>
	<description>Маленький блог для публикации интересных личных заметок</description>
	<lastBuildDate>Tue, 20 Apr 2010 19:23:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Установка и настройка SVN (клиент+сервер)</title>
		<link>http://valera.ws/2008.07.20~setup-svn/</link>
		<comments>http://valera.ws/2008.07.20~setup-svn/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 11:19:54 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Все рубрики]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://valera.ws/?p=61</guid>
		<description><![CDATA[По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://upload.wikimedia.org/wikipedia/ru/thumb/7/79/Subversion.png/200px-Subversion.png" alt="" width="200" height="27" align="left" />По <a href="http://habrahabr.ru/blog/pm/46955.html#comment1007630">просьбам</a> трудящихся, а так же учитывая, что есть <a href="http://habrahabr.ru/blog/ubuntu/43029.html">статья</a> по установке <a href="http://habrahabr.ru/blog/pm/46955.html">SVN</a> (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.<br />
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.<span id="more-61"></span></p>
<p>С самого начала сообщаю, что для SVN есть подробное руководство. Называется оно svn-book и доступно <a href="http://svnbook.red-bean.com/">на сайте</a> и идет вместе с CollabNet Subversion-server. Так же про установку и настройку svnserv с Apache есть описание в <a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-serversetup.html">учебнике по TortioseSVN</a> (довольно хорошая подробная помощь на русском).</p>
<p>На самом деле SVN-клиент может отлично работать и без сервера. Репозиторий (хранилище кода) можно создать в любом каталоге на собственном HDD, или в сетевом каталоге. Сервер требуется лишь для удаленного доступа к репозиторию, не больше. Локальный репозиторий годится, если над проектом работает один человек и ему просто нужна система контроля версий своего приложения и бэкапы.</p>
<p>Если работа ведется в команде или требуется удаленный доступ к репозиторию (через Интернет, например), нужно устанавливать SVN-сервер. Он может работать самостоятельно, либо через веб-сервер Apache. В первом случае доступ к репозиториям будет по протоколу svn://, во втором — http(s)://. Доступ через веб-сервер нужен при проблемах с файрволом, когда он пропускает только HTTP-трафик, а так же для работы некоторых утилит-примочек к SVN-серверу.</p>
<p><strong><em>Установка сервера</em></strong></p>
<p>Самую свежую версию svn-cервера всегда можно найти на сайте <a href="http://subversion.tigris.org/getting.html#binary-packages">subversion.tigris.org</a>. Чистый svn-сервер без  Apache в комплекте, и без визуальных примочек доступен только для версии 1.4.6, в то время как текущая версия 1.5.0. Для версии 1.5.0 есть выбор между <a href="http://www.collab.net/downloads/subversion/">CollabNet Subversion-server-1.5.0</a> (~11 MB) и <a href="http://www.visualsvn.com/server/">VisualSVN Server</a> (~5 MB). Первый идет в комплекте с Apache, второй — с Apache и плагином для Windows Management Console. Так же для VisualSVN есть <a href="http://www.visualsvn.com/visualsvn/">платная возможность</a> интеграции с Visual Studio.</p>
<p><strong>A. </strong><strong><a href="http://www.visualsvn.com/server/doc/server-config/">Установка и настройка</a> сервера VisualSVN</strong> (svn-сервер + Apache + консоль управления) самая простая. Эту версию нельзя установить без Apache.</p>
<p>1) Скачиваем файл VisualSVN-Server-1.5.1.msi или новее. Запускаем установку.<br />
2) В мастере установки указываем, использовать ли для доступа HTTP<strong>S</strong>, либо просто HTTP. Указываем порт для прослушивания по выбранному протоколу и способ аутентификации. Так же указываем каталог, в котором будут храниться репозитории.<br />
3) После установки открываем Management Console (через Пуск, например) и создаем пользователей и репозитории.</p>
<p>Теперь ваши репозитории доступны через выбранный протокол (HTTP или HTTPS) по указанному при установке хосту:порту (например, https://localhost:8443/svn/). Их можно просматривать как из браузера (через xsl), так и из SVN-клиета.</p>
<p>Работа с сервером VisualSVN<strong> </strong>безусловно самая простая.</p>
<p><strong>B. Установка CollabNet Subversion Server</strong> (svn-сервер + Apache опционально).</p>
<p>1) Скачиваем файл CollabNetSubversion-server-1.5.0-23.win32.exe или версию новее. Запускаем его на установку.<br />
2) Шаг Choose Components. Устанавливаем флажок SVNSERVE в любом случае. Если требуется установить так же Apache для SVN, устанавливаем флажок напротив него.<br />
3) На шаге sunserve Configuration устанавливаем порт для sunserve (по умолчанию 3690, менять его смысла нет, если он не занят) и путь к репозиториям (каталог, где вы будете создавать отдельные репозитории в виде подкаталогов).<br />
4) Затем настраивается Apache: хост/порт, путь к репозиториям (тот же, что и для svnserve) и префикс для URL (http://host:port/prefix). Префикс нужен на случай, если Apache будет использоваться не только для обслуживания SVN.</p>
<p>После установки появятся две новых службы Windows: Subversion Server (наш svnserv.exe) и Apache2.2 (если он был включен при установке). Чтобы все заработало их нужно запустить.</p>
<p><strong>С. Установка svnserve 1.4.6</strong> (чистый svn-сервер)<strong>.</strong></p>
<p>1) Скачиваем файл <a href="http://subversion.tigris.org/files/documents/15/41686/svn-1.4.6-setup.exe">svn-1.4.6-setup.exe</a>. Запускаем его на установку. При установке ничего кроме целевого каталога указывать не надо. После установки этот каталог надо добавить в переменную среды PATH (не помню, возможно это делается автоматически).<br />
2) Создаем репозитории командой: <em>svnadmin create c:\repositories\</em><em>example-repository</em><br />
3) Создаем сервис. Команда в консоли: <em>sc create svn_svr binpath= &#8220;c:\Program Files\Subversion\bin\svnserve.exe &#8211;service -r C:</em><em>\repositories</em><em>&#8221; displayname= &#8220;Subversion Svr&#8221;<br />
</em>Здесь <em>-r C:\repositories</em> — адрес каталога с репозиториями, т.е. от него потом будут вычисляться пути. Например, если есть 2 репозитория: C:\repositories\proj1 и C:\repositories\proj2, то указав параметром -r C:repositories потом пути к репозиториям будут: svn://localhost:3690/proj1 и svn://localhost:3690/proj2 соответственно. Порт 3690 устанавливается по умолчанию, но его можно поменять (подробности в svn book).<em><br />
</em>4) Запускается сервис автоматически при старте Windows или из списка служб.</p>
<p>Именно эту работу (если не считать установку Apache) сделал за вас установщик CollabNet Subversion Server. В случае установки svnserve 1.4.6 доступ к репозиторию будет только по протоколу svn://.</p>
<p><strong>D. Создание репозитория.</strong> Выделяю этот пункт отдельным разделом. Если в VisualSVN создание репозитория производится кликом мыши, то для svnserve (в том числе в версии от CollabNet) репозиторий создается из консоли. В поставке snv-сервера есть файл snv-install-folder\bin\svnadmin.exe. Если путь к snv-install-folder\bin еще не прописан в PATH, сделайте это.</p>
<p>Чтобы создать репозиторий, откройте консоль (cmd) и перейдите в каталог для хранения репозиториев, который вы указывали при установке (CollabNet) или создании сервиса (svnserve 1.4.6). Создайте новый пустой подкаталог (например, <em>example-repository</em>). В консоли выполните команду: <em>svnadmin create </em><em>example-repository</em>. В только что созданном каталоге появится структура файлов svn. В них есть много полезных &#8220;штук&#8221;, о которых можно почитать в svn-book и учебнике.</p>
<p>В подкаталоге conf можно настроить основные параметры репозитория. Прежде всего требуется закрыть доступ в репозиторий кому-попало. В файле svnserve.conf раскомментируем строки<br />
<em># anon-access = read<br />
# auth-access = write</em><br />
Не забудьте убрать так же пробел после #, т.к. иначе будет ошибка чтения конфига. anon-access определяет доступ анонимным пользователям, auth-access — зарегистрированным. Они могут принимать значения &#8221;write&#8221;, &#8220;read&#8221; и &#8220;none&#8221;. Обычно anon-access = none и auth-access = write.</p>
<p>Далее надо раскомментировать # password-db = passwd, а в файл passwd в этом же каталоге добавить строку user = password.</p>
<p>Для начала такое определение доступа годится, но в последствии конечно пароли надо шифровать (читаем svn-book).</p>
<p>На этом установка сервера закончена и можно установить клиент.</p>
<p><em><strong>Установка клиента. </strong></em></p>
<p>Некоторые профессионалы предпочитают работать с консолью. Наверное это не самый удобный способ, особенно для новичков, поэтому рассматривать его не будем. Другие работают с SVN через плагины к своим IDE. Это самый лучший способ, но поскольку разных IDE много и плагинов к ним тоже, в этой статье работу с ними не описываем.</p>
<p>Самым популярным и признанным клиентом SVN под Windows является <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>. После его установки вы не получите отдельной программы, которую можно &#8220;классически запустить&#8221;, клиент встраивается в проводник Windows, а команды для него доступны из контекстного меню файла (в т.ч. и в Total Commander).</p>
<p>Описывать установку клиента нет никакого смысла, там все элементарно просто.</p>
<p>О том, как работать с TortoiseSVN, подробно расписано в руководстве <a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/index.html ">TortoiseSVN Клиент Subversion для Windows</a>.</p>
<p>Дублировать это подробное руководство, конечно, желания нет, но все же super-fast-start work with tsvn опишу.</p>
<p>1) Для просмотра любого репозитория после установки TortoiseSVN вызовите контекствное меню на любом файле в системе, выберите меню <em>TortoiseSVN→Repo-browser</em>.  В открывшемся окошке введите адрес репозитория с протоколом (например, <em>https://localhost:8443/svn/test</em> или <em>svn://someserver:3690/proj1/trunc</em>). Откроется окно просмотра репозитория (с помощью кнопки напротив строки адреса можно выбрать, какую ревизию просмотреть; HEAD — это последняя ревизия).</p>
<p>2) Для создания локального репозитория (не используя сервер) запускается пункт меню <em>TortoiseSVN→<a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-repository.html#tsvn-repository-create-tortoisesvn">Create repository here&#8230;</a></em> на нужном каталоге. В Repo-browser такой репозиторий доступен по протоколу file:///.</p>
<p>3) Для скачки себе версии из существующего репозитория запускается пункт меню <em>TortoiseSVN→SVN Checkout</em> <a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-dug-import.html"></a> на каталоге, в который сольется версия.</p>
<p>4) Если вы еще не использовали SVN и хотите залить на сервер свою текущую версию исходников, запустите пункт меню <em>TortoiseSVN→<a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-dug-import.html">Import&#8230;</a></em> на каталоге, в котором лежит версия (при этом не забудьте, что разрабатываемую ветку надо лить в trunk).</p>
<p>5) <em>TortoiseSVN→Export&#8230;</em> используется для получения чистой версии исходников из репозитория (без служебных файлов контроля версий).</p>
<p>6) Если контекстное меню вызвать на каталоге, который является локальной (рабочей) копией репозитория, контекстное меню значительно расшириться. Например, появятся пункты <em>Update</em> (слить последние изменения с сервера) и <em>Commit</em> (закачать ваши изменения на сервер).</p>
<p>На последок рекомендую почитать интересную серию статей <a href="http://outsourcing.wordpress.com/2006/10/21/working-with-tortoise-svn-part1/">Работа с Tortoise SVN</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2008.07.20~setup-svn/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
