如何在Ubuntu中使用Mercurial设置etckeeper?


11

我对在Ubuntu系统中使用Mercurial安装etckeeper感兴趣。我的原因是我不知道如何使用Git,并且现在不想学习。如果我检查包装说明,那听起来很有希望:

kent@rat:~$ apt-cache search etckeeper
etckeeper - store /etc in git, mercurial, or bzr

我想知道如何从这里继续?我已经尝试了Googling,但没有找到适用于Ubuntu + etckeeper + Mercurial组合的任何东西。

(如果您知道有关这种情况的好的教程,那么链接是一个很好的答案。无需重复。)


+1感谢您无意中建议了一个有趣的工具。
Alex Bolotov 2010年

Answers:


11

我在debian和ubuntu上都使用etckeeper。无痛

只要做一个sudo etckeeper init就可以了!

实际上,您可能需要进行编辑/etc/etckeeper/etckeeper.conf以检查是否hg已选择将其作为VCS命令。但这就是您所要做的。

完成后,etckeeper将开始跟踪您对文件所做的每个更改,/etc并将这些更改提交到本地存储库。每当您执行apt-get任何操作时,这都会自动发生,并且每晚都会执行一次。

但是,如果您希望将更改推送到远程存储库,则需要手动进行或设置其他操作来为您完成。


啊。很高兴知道!现在,我准备尝试一下。
删除

2
值得注意的是(对于新手而言)如果尚未安装,则需要“ sudo apt-get install mercurial”,然后进行适当的配置(可能是〜/ .hgrc),如“ hg help config”的输出中所述。
彼得·汉森

我不认为hg需要与etckeeper一起使用的任何配置-我所做的只是在Ubuntu 8.04上安装了hgk(用于“ hg视图”)。对于较新的Ubuntu,只需为(改进的)“ hgview” apt-get install hgview。两者都提供GUI来浏览或搜索对存储库的提交,这对于不熟练使用Mercurial(hg)的人来说非常方便。
RichVel 2012年

8

在我的系统(Ubuntu Karmic)上,除了设置VCS="hg",我还必须编辑/etc/etckeeper/etckeeper.conf并添加以下内容,否则etckeeper commit会抱怨缺少用户名:

HG_COMMIT_OPTIONS="-u etckeeper@aeolus"

另外,在中/etc/.hg/hgrc,我添加了以下内容:

[ui]
username = root@aeolus

这样,当我通过etckeeper进行提交时,该提交的用户名将为etckeeper@aeolus,如果我通过mercurial手动进行提交,则该用户名将显示为root@aeolus


我只是根据@sybreon的建议设置了一个新系统,并遇到了相同的“缺少用户名”错误。第二步,将用户名添加到(以我为例)〜/ .hgrc的[ui]部分中,就足以解决问题。我认为不需要HG_COMMIT_OPTIONS部分。
彼得·汉森

3
不,不是。我刚刚添加了这些内容,以便自动和手动提交将以不同的用户名显示。这样,我知道在进行一些更改之后,日志中的哪些提交是由我手动完成的。
瑞安·汤普森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.