<?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>The WebDevil &#187; SVN</title>
	<atom:link href="http://dmitry.shaposhnik.name/category/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmitry.shaposhnik.name</link>
	<description>Enjoy development</description>
	<lastBuildDate>Mon, 24 May 2010 01:29:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>svn externals howto</title>
		<link>http://dmitry.shaposhnik.name/2007/08/14/svn-externals-howto/</link>
		<comments>http://dmitry.shaposhnik.name/2007/08/14/svn-externals-howto/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 22:46:44 +0000</pubDate>
		<dc:creator>dm</dc:creator>
				<category><![CDATA[Doxie]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://0804team.kiev.ua/dm/blog/2007/08/14/svn-externals-howto/</guid>
		<description><![CDATA[Многие используют Subversion для хранения ревизий своих проектов. И он действительно сильно помогает при разработке проектов командой а не в одиночку.
Из первоситочника:
Иногда полезно иметь рабочую копию, собранную из разных источников. К примеру, когда нужно чтобы некоторые рабочие подкаталоги соответствовали разным частям вашего или чужого хранилища. Безусловно, всё это можно сделать вручную — с помощью вызовов [...]]]></description>
			<content:encoded><![CDATA[<p>Многие используют Subversion для хранения ревизий своих проектов. И он действительно сильно помогает при разработке проектов командой а не в одиночку.</p>
<p><a href="http://svnbook.red-bean.com/nightly/ru/svn.advanced.externals.html">Из первоситочника:</a></p>
<blockquote><p>Иногда полезно иметь рабочую копию, собранную из разных источников. К примеру, когда нужно чтобы некоторые рабочие подкаталоги соответствовали разным частям вашего или чужого хранилища. Безусловно, всё это можно сделать вручную — с помощью вызовов команды svn checkout создать рабочую копию с нужной структурой. Но, ели подобная структура требуется всем пользователям хранилища, каждому из них нужно будет повторить все эти вызовы.</p></blockquote>
<p>На практике мне действительно пришлось использовать svn externals.</p>
<p>Если обяснить кратко и на примере, то это будет так: у нас есть проект. В нем кроме присущего проекту кода есть еще набор библиотек, которые общие для всех проектов. Но проект нам нужен как единый продукт, ведь так? Мы можем положить библиотеки в каждый проект, но тогда возникнет очень неудобная ситуация &#8211; вдруг понадобилось добавить вот эдакую фичу в эти библиотеки. Править во всех проектах совсем неудобно. Вот и получается что у нас в проекте директория lib (почему бы и нет?) должна при чекауте/экспорте вытягивать из другого репозитория все файлики. Но они не будут храниться вместе с каждым проектом при использовании externals.</p>
<p>Теперь на моем примере.</p>
<p>Есть у меня проект &#8211; <a href="http://doxie.sf.net">doxie</a> &#8211; и вот в нем есть пример, а есть само ядро. Чтобы их отделить я и воспользовался externals:<br />
На директории с проектом (на корневой директории проекта) я добавил свойство</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svn:externals</div></div>
<p>со значением</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Doxie &nbsp; https://doxie.svn.sourceforge.net/svnroot/doxie/trunk</div></div>
<p>По этому пути хранится само ядро проекта.<br />
После того как я (каюсь, через GUI &#8211; Eclipse+Subclipse) установил это свойство &#8211; делаю</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svn commit</div></div>
<p>, потом</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svn up</div></div>
<p>- и зависимость втянулась в дерево проекта в папку Doxie.</p>
<p>Как раз то что и было нужно.</p>
]]></content:encoded>
			<wfw:commentRss>http://dmitry.shaposhnik.name/2007/08/14/svn-externals-howto/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
