mercurial:hgrc文件中的重复更少
我已经在我的谷歌代码托管上使用了Hg。对于每个项目,我在.hgrc的[auth]部分设置了用户名/密码,无需每次询问密码即可推送。但它有很多重复,比如:mercurial:hgrc文件中的重复更少,mercurial,Mercurial,我已经在我的谷歌代码托管上使用了Hg。对于每个项目,我在.hgrc的[auth]部分设置了用户名/密码,无需每次询问密码即可推送。但它有很多重复,比如: [auth] proj1.prefix = ... 111 proj1.username = google code username proj1.password = google code password proj2.prefix = ... 222 proj2.username = google code username proj2
[auth]
proj1.prefix = ... 111
proj1.username = google code username
proj1.password = google code password
proj2.prefix = ... 222
proj2.username = google code username
proj2.password = google code password
这是不是可以减少复制?是否可以在hgrc中设置变量,并从所有用户名/密码行引用该变量
提前感谢您的帮助似乎不支持将变量作为属性值
对于Mercurial配置文件,您可以有多个.rc
文件
*.rc
单个目录中的文件按字母顺序读取,后面的文件优先于前面的文件
这意味着你可以:
- 一个主hgrc文件
- 一个用于项目身份验证的模板文件
- 一个脚本能够生成多个
文件,每个项目一个proj.rc
=代码>其中
用于将参数分组到身份验证条目中
.prefix
:使用具有最长匹配前缀的身份验证条目
因此,code.google.com的一个条目就足够了。同样值得关注的是%include file
,这样您可以将常见内容存储在单独的文件中,并将它们包含在任何hgrc中。来自同一用户的不同Google代码项目没有相同的前缀,因此您不能在hgrc的auth部分使用prefix属性
但你可以用另一种方式。像这样写一个~/.hgrc:
[auth]
gc.username = google code username
gc.password = google code password
[paths]
default = https://PROJECTNAME.googlecode.com/hg/
[auth]
gc.username = https://PROJECTNAME.googlecode.com/hg/
然后为每个项目创建一个PROJECTDIR/hgrc/.hgrc,如下所示:
[auth]
gc.username = google code username
gc.password = google code password
[paths]
default = https://PROJECTNAME.googlecode.com/hg/
[auth]
gc.username = https://PROJECTNAME.googlecode.com/hg/
在.hgrc和项目hgrc之间,条目的名称(在本例中为gc)必须相同,这一点很重要。
[ui]
username = Ivan Pupkin <ivan.pupkin@gmail.com>
verbose = True
[auth]
googlecode.prefix = https://code.google.com/
googlecode.username = username
googlecode.password = password
[ui]
用户名=Ivan Pupkin
详细=正确
[授权]
googlecode.prefix=https://code.google.com/
googlecode.username=用户名
googlecode.password=密码
我在hg 2.3.2:)中检查它。在哪里放置*rc?使用脚本从模板生成my.hgrc不是更容易吗?@Zaharpov:它们是“每个安装/系统配置文件”,位于您告诉它们的位置(对于Windows),或者位于Unix的/etc/mercurial/hgrc.d/*.rc
下。当然,您只能生成自己的每个用户.hgrc
文件,这更适合用户信息。