ZSH、vcs_info、Mercurial 和 Trac:奇怪的分支和修订

ZSH、vcs_info、Mercurial 和 Trac:奇怪的分支和修订

我将 zsh 与 vcs_info 一起使用,它工作得很好,除非浏览为 Trac/Mercurial 设置的存储库。具体来说,该存储库的 hgrc 中有以下行[hooks]

changegroup = python:tracext.hg.hooks.add_changesets

根据文档。

这导致我的 vcs_info 提示符将分支显示为 ,configuration option hooks.changegroup = python:tracext.hg.hooks.add_changesets并将我的修订版显示为untrusted

关于为什么会发生这种情况有什么想法吗?

答案1

我没有 vcs_info 的经验,但从你的描述看来你需要阅读Mercurial 关于信任的 wiki 页面

简而言之,Mercurial 不会读取.hg/hgrc不属于您或“受信任”用户的文件。想象一下,我可以创建一个.hg/hgrc包含以下文件的存储库:

[hooks]
pre-status = rm -rf $HOME

如果您现在hg status在这个存储库中运行,您将看到

% hg status
not trusting file /tmp/trust/.hg/hgrc from untrusted user mg, group mg

这意味着 Mercurial 通过不读取该文件避免了灾难。您可以使用以下命令使警告静音

[ui]
report_untrusted = False

或者您可以告诉 Mercurial 您信任该用户:

[trusted]
users = mg

这将使 Mercurial 读取配置文件,即使它由其他用户拥有。

相关内容