Mercurial Hg 的配置文件 hgrc
其实 hgrc 里面的配置选项是有很多的,这里只列出了目前我配置到的一些选项。
环境
这里默认说的都是 Mac 环境。
简介
用过 vi/vim 的大概一看就知道这是 Hg 的配置文件。
文件
每个系统的配置文件
- 路径 <install-root>/etc/mercurial/hgrc 或 <install-root>/etc/mercurial/hgrc.d/*.rc
每个用户的配置文件
- 路径 $HOME/.hgrc
每个项目的配置文件
路径 <repo>/.hg/hgrc
- 每个项目自己的配置文件里面的配置会覆盖掉以上两个的配置。
- 这个文件不在版本控制之内,不会随 clone 操作被传送出去,因此里面的配置信息(尤其是密码)是安全的。
语法
配置文件是由如下形式的区块(section)组成的。
[foo] foo1 = bar1 foo2 = bar2
区块 section
alias
<alias> = <command> [<argument]...例如设置了
[alias] latest = log --limit 5就可以使用 hg latest 命令来查看最近的 5 条 log。
auth
用来管理多个库的验证信息,一般会在 $HOME/.hgrc 里面设置,这样就不用每次都要输入用户名和密码了。安全起见,要确保只有自己能看到这个文件。
<name>.<argument> = <value>例如
[auth] vim.prefix = bitbucket.org/gaowhen/vim vim.username = foo vim.password = bar vim.schemes = http https在 $HOMT/.hgrc 里面设置了 auth 之后,只需要在 <repo>/.hg/hgrc 里面设置好 paths 就可以了。改变版本库的时候,Hg 会根据不同的 prefix 来自动进行用户验证。lab.prefix = bitbucket.org/gaowhen/lab lab.username = foo lab.password = bar lab.schemes = http https
paths
- default 拉取(pull)源代码时如果没有指定库,则从这里指定的目录或 URL 拉取。一般设置为当前库复制(clone)而来的库。
- default-push 可选项。推送(push)的时候如果没指定库,则推送到这里指定的目录或 URL。