【问题标题】:Mercurial hg flag syntax for config property not working配置属性的 Mercurial hg 标志语法不起作用
【发布时间】:2015-02-12 16:20:37
【问题描述】:

我有一个需要一些 [hostfingerprints] 密钥才能工作的存储库。 他们告诉我添加一个 --insecure 标志,这样它就不会要求我提供密钥,但它不起作用。

hg clone --insecure pathToRepository PathForTheFolderToClone

当存储库被克隆时,我尝试在 hgrc 文件中提供我应该拥有的属性:

[主机指纹] hg.website.com = 88:88:88.....

但是你如何使用这个属性呢?它告诉我它的语法不好:

*`hg clone --config hostfingerprints.hg.website.com = 88:88:88:88:88...88:88 pathToRepository PathForTheFolderToClone`*

这是错误:

*abort: malformed --config option: 'hostfingerprints.hg.website.com' (use --config section.name=value)*

那我该怎么写呢? 为什么 --insecure 标志一开始就不起作用?

【问题讨论】:

  • 将配置参数添加到hgrc,然后运行hg clone <src> <dest>。去掉--config 选项。
  • @MarkTolonen 但是我应该把那个文件放在哪里让它读取它?我没有下载任何存储库。我正在做一个克隆。
  • 在全局配置文件中。在 Windows 上,它是用户目录中的 Mercurial.ini。在 Linux 上,它是 .hgrc。

标签: mercurial clone config tortoisehg


【解决方案1】:

在全局配置文件中设置主机指纹,然后进行正常克隆。 --insecure 将不再需要。

来自hgrc 文档:

在 Unix 上,参考以下文件:

  • /.hg/hgrc(每个存储库)
  • $HOME/.hgrc(每个用户)
  • /etc/mercurial/hgrc(每次安装)
  • /etc/mercurial/hgrc.d/*.rc(每次安装)
  • /etc/mercurial/hgrc(每个系统)
  • /etc/mercurial/hgrc.d/*.rc(每个系统)

在 Windows 上,参考以下文件:

  • /.hg/hgrc(每个存储库)
  • %USERPROFILE%.hgrc(每个用户)
  • %USERPROFILE%\Mercurial.ini(每个用户)
  • %HOME%.hgrc(每个用户)
  • %HOME%\Mercurial.ini(每个用户)
  • \Mercurial.ini(每次安装)
  • \hgrc.d*.rc(每次安装)
  • HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial(每次安装)

hostfingerprints 看起来像:

[hostfingerprints]
hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0

【讨论】:

  • 谢谢,成功了。无论如何,我的 SourceTree 应用程序忽略了该警告并克隆了 repo。但是这个解决方案也可以。谢谢。
猜你喜欢
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多