使用Mercurial(水银,一种版本控制系统)将你的*nix系统添加到版本控制系统
本人一直试图找一个版本控制系统可以将我的linux系统的文件系统方到版本控制之下。那样就不怕丢东西,更新时也不怕丢东西了。我试过CVS和SubVersion,都不太好,我甚至动了要自己写一个的想法。直到我发现了Mercurial。有了这个东西后就一切豁然开朗了。它有三个独特的属性,以至于将整个系统加入版本控制对它来说易如反掌。这三个特性是:1.它不会在每个目录下创建一个文件。它只在你希望加入版本控制的目录的根目录创建一个.hg文件夹。要知道很多系统是不能识别CVS或SubVersion的目录的,他们会被当成正常目录来处理,导致很多基于目录结构的程序失败。Mercurial只有一个目录就很好的避免了这种麻烦。
2.它包含一个addremove命令。"hg addremove". hg是mercurial的命令,取自水银的化学符号。hg addremove自动添加新文件,移出被删除的文件。用起来太方便了。
3. 它是分布式的,很容易备份。用hg pull就行了。
下面是具体的步骤:
1.安装mercurial. ubuntu系统下可以用sudo apt-get install mercurial.其他系统请参照各自系统文档,也可以到http://www.selenic.com/mercurial/wiki/下载。装完之后可以执行hg验证一下,也大致看一下hg的参数。
2. 在系统根目录/下创建一个.hgignore文件,在这个文件中出现的东西会被自动跳过,将我们不希望添加到版本控制的文件和文件加入到这个文件。有几个是必须跳过的,最小的.hgignore文件看起来向这样:
var/3.执行 cd / && sudo hg init
proc/
dev/
sys/
4.执行 sudo hg addremove && sudo hg commit -m "add system root to mercurial rep"
5.如果你不需要备份这些文件,这一步可以省略,切换到备份目录执行: hg clone / root
这样就好了。几分钟时间的事。
你可以将这条命令加入到crontab:cd / && hg commit -A -m "system changed at `date`" .这将自动提交所有的更改。 也可以在备份文件夹下用hg pull /同步更新。
Technorati Tags: mercurial, versioning, unix, linux, solaris, hg, china









你这里一段时间不来,信息量怎么这么大啊。你都是从哪里找到这些信息的?小弟佩服啊
发表于 Jian 在 2007年11月19日, 10:52 上午 CST #