<?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>William Hua的Blog &#187; Mercurial</title>
	<atom:link href="http://www.williamhua.com/tag/mercurial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.williamhua.com</link>
	<description>一个关于生活感悟、新奇见闻、网站运营和电子商务的Blog</description>
	<lastBuildDate>Sun, 15 Aug 2010 16:05:13 +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>开始以Mercurial作为主要版本控制系统</title>
		<link>http://www.williamhua.com/2009/06/08/use-mercurial-as-main-scm/</link>
		<comments>http://www.williamhua.com/2009/06/08/use-mercurial-as-main-scm/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 15:57:50 +0000</pubDate>
		<dc:creator>William Hua</dc:creator>
				<category><![CDATA[开源技术]]></category>
		<category><![CDATA[DVCS]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[分布式版本控制]]></category>

		<guid isPermaLink="false">http://www.williamhua.com/?p=141</guid>
		<description><![CDATA[
之前，我一直用SVN作为日常的版本控制工具，很多代码和文档，都放在SVN版本库中。但是在家里用的时候总是很难保证有一台server一直开机，在我的破笔记本上开server又太耗资源，所以用久了以后总觉得提交代买和查看版本历史都很不方便（还有SVN那讨厌的无处不在的.svn目录）。前阵子在Google Doce的blog上看到Google Code开始向受邀用户提供Mercurial版本控制Hosting服务以后，我也花了点时间来学习了一下分布式版本控制系统。

分布式版本控制 (DVCS) 是一种不需要中心服务器的管理文件版本的方法（它也可以使用中心服务器）。更改可以被合并到 DVCS 的任何其他用户的系统中，因此可以实现非常灵活的工作流。它的两个主要优点是：比集中的版本控制更灵活，因为它除了支持传统的（集中式）工作流，还支持其他各种工作流；它比集中式服务器快得多，因为大多数操作在客户机本地进行，而不需要网络操作。 对于分布式版本控制的理解，大家可以参考Better Explained的文章Intro to Distributed Version Control (Illustrated)。
当前比较流行的开源分布式版本控制系统有：Git、 Mercurial、 Bazaar和Darcs等，Git是Linux之父Linus Torvalds的力作，使用在Linux内核开发中，其他的几个也都是颇有来头，所以我应该选择谁来作为分布式版本控制的开始呢？因为对DVCS实在了解不多，只好从简单的入手，正好Mercurial的命令和之前比较熟悉的SVN接近，有TortoiseHg这样的图形化工具可用，而且Google的分析也显示它的性能不错。详细的分析，请看Analysis of Git and Mercurial 。更让我觉得这个选择没错的是刚刚过去的开发者大会期间，Google宣布Google Code开始正式支持Mercurial了。
Mercurial的文档工作做得不错，官方的wiki中可以找到不少的参考资料，从基本的安装、命令使用到对分布式版本控制的理解都以及和其他CMS在理念上的异同都可以找到，其中最有名的自然要属Bryan O&#8217;Sullivan的Mercurial: The Definitive Guide了（简称HGBook），本书将在今年由O&#8217;Reilly正式出版。值得注意的是，Bryan O&#8217;Sullivan在写作的过程中把完整的DocBook源文件放在了Mercurial版本库中供大家下载，我们可以拿到source以后进行修改，然后把修改的建议发给作者。i18n-zh有计划翻译Mercurial: The Definitive Guide，有兴趣的话可以去看看HGBook中文版的Mercurial仓库。
我也是分布式版本控制的初学者，下面还是给出一些不错的资源给大家，一起学习吧。
胡凯，为什么我们要放弃Subversion
风云，分布式的版本控制工具
猛禽，分布式版本控制（一）   分布式版本控制（二） 
Sparkle，我与Mercurial 系列等几篇文章



分享&#038;收藏:


	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
		<wfw:commentRss>http://www.williamhua.com/2009/06/08/use-mercurial-as-main-scm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
