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

Del*_*ted 11 ubuntu mercurial etckeeper

我有兴趣在我的 Ubuntu 系统中安装带有 Mercurial 的 etckeeper。我的原因是我不知道如何使用Git,暂时不想学习。如果我检查包描述,听起来很有希望:

kent@rat:~$ apt-cache search etckeeper
etckeeper - store /etc in git, mercurial, or bzr
Run Code Online (Sandbox Code Playgroud)

我想知道如何从这里继续?我试过谷歌搜索,但我没有找到任何适用于 Ubuntu + etckeeper + Mercurial 组合的东西。

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

syb*_*eon 11

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

只要做一个sudo etckeeper init,你就完成了!

实际上,您可能需要编辑/etc/etckeeper/etckeeper.conf以检查它hg是否被选为 VCS 命令。但这就是您需要做的全部。

一旦完成,etckeeper 将开始跟踪您对文件所做的每个更改/etc并将这些更改提交到本地存储库。每当您运行apt-get任何东西时都会自动发生这种情况,也可以作为每晚的 cron 作业。

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

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

Rya*_*son 8

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

HG_COMMIT_OPTIONS="-u etckeeper@aeolus"
Run Code Online (Sandbox Code Playgroud)

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

[ui]
username = root@aeolus
Run Code Online (Sandbox Code Playgroud)

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

  • 不,不是。我刚刚添加了它,以便自动和手动提交会显示不同的用户名。这样我就知道日志中的哪些提交是由我在进行一些更改后手动完成的。 (3认同)