<?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>SimpleCoding.org &#187; Bazaar</title>
	<atom:link href="http://www.simplecoding.org/category/bazaar/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Fri, 27 Jan 2012 18:27:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Bazaar: распределенная система управления версиями</title>
		<link>http://www.simplecoding.org/bazaar-raspredelennaya-sistema-upravleniya-versiyami.html</link>
		<comments>http://www.simplecoding.org/bazaar-raspredelennaya-sistema-upravleniya-versiyami.html#comments</comments>
		<pubDate>Tue, 23 Sep 2008 06:50:53 +0000</pubDate>
		<dc:creator>Владимир</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Web разработка]]></category>

		<guid isPermaLink="false">http://www.simplecoding.org/?p=544</guid>
		<description><![CDATA[Первое знакомство с системой управления версиями (VCS) сразу же вызывает множество вопросов. Если говорить прямо, то сначала вообще не понятно как ею пользоваться, но через некоторое время вы привыкаете и уже не понимаете, как раньше обходились без неё. На сегодняшний день наиболее популярной среди бесплатных VCS является Subversion. Но, во-первых, она не единственная, а, во-вторых, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_545" class="wp-caption alignnone" style="width: 310px"><img src="http://www.simplecoding.org/wp-content/uploads/2008/09/bazaar_intro.png" alt="bazaar intro" title="bazaar intro" width="300" height="200" class="size-full wp-image-545" style="float:left" /><p class="wp-caption-text"> </p></div>
<p>Первое знакомство с системой управления версиями (<strong>VCS</strong>) сразу же вызывает множество вопросов. Если говорить прямо, то сначала вообще не понятно как ею пользоваться, но через некоторое время вы привыкаете и уже не понимаете, как раньше обходились без неё.</p>
<p>На сегодняшний день наиболее популярной среди бесплатных VCS является <a href="http://subversion.tigris.org/">Subversion</a>. Но, во-первых, она не единственная, а, во-вторых, существуют VCS, которые предоставляют принципиально новые возможности.</p>
<p>Речь идет о так называемых <strong>распределенных системах управления версиями</strong>. Сразу поясню, что означает слово распределенные.<br />
<span id="more-544"></span><br />
Системы управления версиями хранят историю изменений в специальном хранилище (<strong>repository</strong>). В случае <strong>Subversion</strong> все разработчики используют одно общее хранилище, а распределенные системы позволяют использовать для одного проекта несколько хранилищ.</p>
<p>Главное преимущество тут в том, что любой разработчик может нормально работать с системой контроля версий, не имея доступа к общему серверу. Естественно, любые изменения сделанные в одном хранилище можно «слить» в другое.</p>
<p>В общем, я решил поработать с одной из таких VCS. Остановил я свой выбор на системе под названием <a href="http://bazaar-vcs.org/">Bazaar</a>. Почему? Причин целая куча.</p>
<p>Во-первых, распространяется она по лицензии <strong>GPL v2</strong>, т.е. бесплатно.</p>
<p>Во-вторых, есть версии для <strong>Windows</strong>, различных дистрибутивов <strong>Linux</strong>, <strong>MacOS</strong>.</p>
<p>В-третьих, имеет отличную документацию.</p>
<p>В-четвертых, большинство команд <strong>совпадает с Subversion</strong>.</p>
<p>И, самое главное, разработчики заявили, что Bazaar &#8211; это <em>Version Control for Human Beings</em> (система управления версиями для людей). Мне очень захотелось проверить это утверждение <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<p>Скажу сразу, я ни минуты не жалею, что решил поработать с этой системой. Но обо всем по порядку.</p>
<p><strong>Установка</strong></p>
<p>Я устанавливал версию для Windows. Процесс стандартный и сводится к нажатиям на кнопку «Next». После завершения вы сможете работать с <strong>Bazaar</strong> из командной строки.</p>
<p>Автоматически устанавливается расширение для Проводника – <a href="http://bazaar-vcs.org/TortoiseBzr">TortoiseBzr</a>, правда оно имеет статус экспериментального и использовать его я не пробовал. Меня больше интересовал <a href="http://bazaar-vcs.org/BzrEclipse">плагин к Eclipse</a>.</p>
<p>Кроме того, на данный момент существует более двух десятков <a href="http://bazaar-vcs.org/3rdPartyTools">расширений</a> сторонних разработчиков, которые позволяют сделать работу с Bazaar более комфортной.</p>
<p><strong>Настройка</strong></p>
<p>В принципе, ничего делать не нужно. Можно, конечно, установить <a href="http://bazaar-vcs.org/BzrPlugins">дополнительные плагины</a>, но для первого знакомства с Bazaar они не нужны.</p>
<p><strong>Приступаем к работе</strong></p>
<p>Для эксперимента берем любую папку (например, <code>e:\myproject</code>). Есть в ней файлы или нет, роли не играет. Открываем консоль и, находясь в этой папке, выполняем команду:</p>
<p><code>bzr init</code></p>
<p>В результате появится скрытая папка <code>.bzr</code> со служебными файлами. В ней будет находиться локальное хранилище.</p>
<p>Теперь создаем в этой папке несколько файлов (если их там еще нет) и выполняем</p>
<p><code>bzr add</code></p>
<p>Эта команда указывает, какие файлы нужно отслеживать. В данном случае будет рекурсивно добавлено <strong>все содержимое текущей папки</strong>. Естественно, в этой команде можно явно указать имена файлов и папок или создать файл <code>.bzrignore</code> и перечислить в нём маски файлов (wildcards), которые отслеживать ненужно.</p>
<p>Чтобы <strong>сохранить изменения в хранилище</strong>, выполняем:</p>
<p><code>bzr commit -m “ваш_комментарий”</code></p>
<p>Теперь изменяем, любой из файлов и выполняем:</p>
<p><code>bzr diff</code></p>
<p>Система покажет различия в файлах рабочей копии (папке <code>e:\myproject</code>) и хранилище.</p>
<p>Чтобы зафиксировать изменения в файле, снова выполняем:</p>
<p><code>bzr commit -m “ваш_комментарий”</code></p>
<p><em>Примечание</em>. В таком виде команда сохранит изменения сделанные во всех файлах рабочей копии. Если вы хотите зафиксировать изменения только в одном из них, то нужно указать его имя явно.</p>
<p><code>bzr commit -m “ваш_комментарий” file_name</code></p>
<p>Посмотреть <strong>историю изменений</strong> можно с помощью</p>
<p><code>bzr log</code></p>
<p>Старую версию файла можно получить с помощью</p>
<p><code>bzr cat -r X file_name</code></p>
<p><code>Х</code> – номер ревизии</p>
<p>Если вы хотите <strong>вернуть рабочую копию в предыдущее состояние</strong>, выполните</p>
<p><code>bzr revert -r -Х</code></p>
<p>Так что можно обеспечить себе такой же уровень комфорта, как и при работе с Subversion. Даже выше <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p><strong>Документация</strong></p>
<p>Оставила очень хорошее впечатление. Помимо основного руководства есть шпаргалки, статьи для тех, кто работал с другими VCS и т.п. Кстати, советую почитать раздел <a href="http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#workflows">Workflows</a>, наглядно показаны возможности распределенных систем.</p>
<p><strong>Заключение</strong></p>
<p>Я специально хочу отметить, что не предлагаю вам немедленно переходить на Bazaar. Более того, я даже не уверен, что она когда-нибудь станет лидером на рынке. Просто децентрализованная система действительно может предоставить ряд интересных возможностей.</p>
<p>Кроме того, если вы раньше никогда не работали с VCS, то вам будет проще начать работать с Bazaar, чем с той же Subversion.</p>
<p>До встречи!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplecoding.org/bazaar-raspredelennaya-sistema-upravleniya-versiyami.html/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>

