<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Boost переехал в Subversion репозиторий.</title>
	<atom:link href="http://blog.not-a-kernel-guy.com/2007/08/28/230/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.not-a-kernel-guy.com/2007/08/28/230</link>
	<description>... in the Windows kernel team</description>
	<pubDate>Thu, 20 Nov 2008 22:14:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Алёна C++: Системы контроля версий</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8291</link>
		<dc:creator>Алёна C++: Системы контроля версий</dc:creator>
		<pubDate>Mon, 03 Sep 2007 18:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8291</guid>
		<description>[...] Source control (revision control, source code management (SCM)) - по-русски это все обычно называют системами контроля версий. Контролировать ими можно много чего, но меня они, конечно, интересуют в плане работы с кодом. Сначала я кратко расскажу про системы контроля версий для тех, кто о них ничего не знает или знает мало, а потом пару слов скажу про выступление Линуса Торвальдса, в котором он рассказывает о Git'е. Зачем вообще нужен какой-то контроль за кодом? Затем, что без контроля получается бардак. На диске появляются бесконечные копии исходников с загадочными именами: MyProject1, MyProject.backup, MyProject.old, MyProject.oldest. Проку в них никакого нет, потому что все равно уже не вспомнить где какие изменения делались.Основная идея систем контроля версий - запоминать все внесенные изменения с комментариями. Понятно кто когда что менял, зачем. Главное - можно все эти изменения откатить. Ну а кроме этого систему контроля версий можно обвешать дополнительными фишками и рюшечками.Самые известные, которые чаще всего упоминаются - CVS, Subversion (SVN), Perforce. Все системы, что я перечислила, объединяет то, что это системы с одним, выделенным сервером, на котором и находится репозиторий с кодом. Скорее всего вы работали с какой-то из них. Если ни с какой не работали, то очень рекомендую поставить Subversion. Его легко и непринужденно можно погонять на одной локальной машине и получить полное представление о работе систем контроля версий. Небольшой словарик для понимания дальнейшего. Переводами народ себя обычно не утруждает :-).Транк (trunk) - основная ветка кодаБранч (branch) - ответвления (для экспериментов, например)Чекин (Check in (submit, commit)) - отправка кода в репозиторийЧекаут (Check out) - получение изменения из репозитория.Конфликты - возникают, когда несколько человек правят один и тот же код, конфликты можно разрешатьПатч - кусок с записанными изменениями, которые можно применить к репозиторию с кодом Традиционная схема работы с репозиторием в Open Source проектах такова. Есть некто Главный (пусть будет Ведущий программист, неважно). Программисты делают патчи, цепляют их к багам в багтракинговой системе. Главный просматривает их патчи, если все ОК - применяет к коду. В Second Life используется схема работы с патчами. В качестве багтракинговой системы там используется JIRA, в качестве системы контроля версий - SubVersion.В компаниях такая схема тоже иногда применяется, при работе со стажерами. Чтобы кто-то просматривал их код, прежде чем он попадет в репозиторий. Обычные же программисты, как правило, имеют право коммита.Вот выступление Линуса Торавальдса, в котором он рассказывает про им написанную систему контроля версий Git. Тон рассказа мне не очень понравился, Линус там периодически пытается несмешно шутить по поводу своей популярности. Кстати, по ходу доклада гугловцы упоминают, что у них используется Perforce.Линус не любит Perforce, не любит CVS, не любит SubVersion. Он ратует за распределенные системы контроля версий. Которые, мало того, что убирают точку отказа, но еще делают более простым процесс создания бранчей и позволяют смело экспериментировать с кодом, не вызывая комплексов "засабмитить не то". Я думаю, Git получит рапространение хотя бы по тому, что его написал Линус. Еще пример использования распределенной системы контроля версий - Bazaar используется при работе над Ubuntu Linux. Большой список систем контроля версий можно посмотреть в Википедии.Ссылки по теме:Boost переехал в Subversion репозиторий [...]</description>
		<content:encoded><![CDATA[<p>[...] Source control (revision control, source code management (SCM)) - по-русски это все обычно называют системами контроля версий. Контролировать ими можно много чего, но меня они, конечно, интересуют в плане работы с кодом. Сначала я кратко расскажу про системы контроля версий для тех, кто о них ничего не знает или знает мало, а потом пару слов скажу про выступление Линуса Торвальдса, в котором он рассказывает о Git&#8217;е. Зачем вообще нужен какой-то контроль за кодом? Затем, что без контроля получается бардак. На диске появляются бесконечные копии исходников с загадочными именами: MyProject1, MyProject.backup, MyProject.old, MyProject.oldest. Проку в них никакого нет, потому что все равно уже не вспомнить где какие изменения делались.Основная идея систем контроля версий - запоминать все внесенные изменения с комментариями. Понятно кто когда что менял, зачем. Главное - можно все эти изменения откатить. Ну а кроме этого систему контроля версий можно обвешать дополнительными фишками и рюшечками.Самые известные, которые чаще всего упоминаются - CVS, Subversion (SVN), Perforce. Все системы, что я перечислила, объединяет то, что это системы с одним, выделенным сервером, на котором и находится репозиторий с кодом. Скорее всего вы работали с какой-то из них. Если ни с какой не работали, то очень рекомендую поставить Subversion. Его легко и непринужденно можно погонять на одной локальной машине и получить полное представление о работе систем контроля версий. Небольшой словарик для понимания дальнейшего. Переводами народ себя обычно не утруждает :-).Транк (trunk) - основная ветка кодаБранч (branch) - ответвления (для экспериментов, например)Чекин (Check in (submit, commit)) - отправка кода в репозиторийЧекаут (Check out) - получение изменения из репозитория.Конфликты - возникают, когда несколько человек правят один и тот же код, конфликты можно разрешатьПатч - кусок с записанными изменениями, которые можно применить к репозиторию с кодом Традиционная схема работы с репозиторием в Open Source проектах такова. Есть некто Главный (пусть будет Ведущий программист, неважно). Программисты делают патчи, цепляют их к багам в багтракинговой системе. Главный просматривает их патчи, если все ОК - применяет к коду. В Second Life используется схема работы с патчами. В качестве багтракинговой системы там используется JIRA, в качестве системы контроля версий - SubVersion.В компаниях такая схема тоже иногда применяется, при работе со стажерами. Чтобы кто-то просматривал их код, прежде чем он попадет в репозиторий. Обычные же программисты, как правило, имеют право коммита.Вот выступление Линуса Торавальдса, в котором он рассказывает про им написанную систему контроля версий Git. Тон рассказа мне не очень понравился, Линус там периодически пытается несмешно шутить по поводу своей популярности. Кстати, по ходу доклада гугловцы упоминают, что у них используется Perforce.Линус не любит Perforce, не любит CVS, не любит SubVersion. Он ратует за распределенные системы контроля версий. Которые, мало того, что убирают точку отказа, но еще делают более простым процесс создания бранчей и позволяют смело экспериментировать с кодом, не вызывая комплексов &#8220;засабмитить не то&#8221;. Я думаю, Git получит рапространение хотя бы по тому, что его написал Линус. Еще пример использования распределенной системы контроля версий - Bazaar используется при работе над Ubuntu Linux. Большой список систем контроля версий можно посмотреть в Википедии.Ссылки по теме:Boost переехал в Subversion репозиторий [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8278</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Wed, 29 Aug 2007 19:10:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8278</guid>
		<description>&#160;&lt;blockquote&gt;пересобирать буст при малейшем изменении в сорце тоже накладно&lt;/blockquote&gt;

Ветки и метки не просто так придумали. :-)</description>
		<content:encoded><![CDATA[<p>&nbsp;<br />
<blockquote>пересобирать буст при малейшем изменении в сорце тоже накладно</p></blockquote>
<p>Ветки и метки не просто так придумали. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iceku</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8277</link>
		<dc:creator>iceku</dc:creator>
		<pubDate>Wed, 29 Aug 2007 18:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8277</guid>
		<description>Хорошая новость. Единственный минус — svn обрабатывает репозитарий слишком долго :( Да и пересобирать буст при малейшем изменении в сорце тоже накладно. Хотя, время покажет.</description>
		<content:encoded><![CDATA[<p>Хорошая новость. Единственный минус — svn обрабатывает репозитарий слишком долго <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> Да и пересобирать буст при малейшем изменении в сорце тоже накладно. Хотя, время покажет.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Зеркало: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8273</link>
		<dc:creator>Зеркало: Not a kernel guy</dc:creator>
		<pubDate>Tue, 28 Aug 2007 16:04:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/28/230#comment-8273</guid>
		<description>&lt;strong&gt;Boost переехал в Subversion репозиторий....&lt;/strong&gt;

Я как-то упустил из виду. Похоже, что Boost наконец-то переехал в Subversion реп...</description>
		<content:encoded><![CDATA[<p><strong>Boost переехал в Subversion репозиторий&#8230;.</strong></p>
<p>Я как-то упустил из виду. Похоже, что Boost наконец-то переехал в Subversion реп&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
