最近下载了一个Google开源库的源代码,看到里面有个.hg文件夹,里面有一些这样的文件:
不知道这些文件都是干嘛的,打开看了下也看不懂,于是google了下发现是版本控制系统Mercurial的文件,以前只听说过CVS(现在基本已淘汰)、SVN和Git这三种版本控制系统,不知道Mercurial为何物,于是就稍微学习了下。
1. Mercurial简单介绍
Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,具有如下优点:
- 更轻松的管理。
传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。 - 更健壮的系统。
分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。 - 对网络的依赖性更低。
由于同步可以放在任意时刻进行,Mercurial 甚至