分布式版本控制系统的选择

Git:  传说很好用,而且可以和svn桥接。可惜只能用在linux上。即使能移植到windows平台,估计也早就面目全非了。

 

monotone:  这是我最想使用的一个,原因很简单,他是用c写的,性能效率资源占用上应该有优势,而且没附加库要求。可惜到现在为止仍然不支持中文,只能放弃了。 monotone通过第三方工具tailor可以导入svn库,略微麻烦。svn库中如果日志有中文的话也导入不了。

 

bzr 和 mercurial: 最后只能在这两个用python写的dvcs中选择了。倒不是对python有偏见,而是尽量想轻量而已。出乎意外的是,这两个不仅性能还可以,效率也不错,对中文也丝毫没问题,跟svn也可以很好的衔接。

 

困难的是在bzr 和 mercurial 中 如何选择,这俩还真是不相上下,难解难分呢。最后,终于找了个喜好的地方,选择了mercurial :mercurial 在 http支持上有独到之处,内置就支持浏览版本、日志、差异等等。

 

其实bzr和mercurial的库也可以互相转来转去,所以在这两个之中选择,不论怎么选,都没什么危险性。

 

 

PS:

    bazaar(bzr) 和 mercurial(hg) 似乎都对回到过去不感兴趣,在这方面支持不足。

    svn 可以用 update -r N  回到 版本 N。

    bzr 的update根本就不支持 -r,只能更新的最新。revert 倒是可以使用 -r参数。但是会造成本地文件的修改,本地文件实际还是最新的。

    hg 强点,可以使用update -r 回到过去。本地文件也确实是过去的干净版本。但是 hg 却没有提供 info 操作,这就无从判断当前的版本到底处于哪一个版本状态了。  hg 不提供 info 的做法很是奇怪,也可能是我刚用,还没发现他实现的方式吧。

 

 20090124 补充:

 

折腾了一大圈之后,还是发现不大习惯分布式的架构。于是从一堆DVCS中选择了mercurial之后,稍微了解了下就放哪儿了,平常还是用svn,要论可靠便捷,svn还是当仁不让的。

 

不过备着mercurial还是有好处的,一是mercurial的命令方式跟svn几乎类似,要用的时候可以毫无困难的即时上手使用,二是mercurial可以跟svn完美的共存与合作,一套代码可以同时被两个VCS系统管理,非常方便便捷。 以前为了能够外出时仍然能有效的进行代码管理,找了个SVN的分布式补丁版 svk, 倒是能实现功能,可是实在是别扭,而且好久也没更新了,作者(貌似是个台湾人)在满足了自己的需求后,好像不愿意深入开发了。

 

有了mercurial,就不再需要svk了。 在线的时候用svn,离线的时候用mercurial,任何时候都可以点滴不漏的管理代码变更。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值