我将 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 读取配置文件,即使它由其他用户拥有。