存储库由root用户和组dev
拥有另一个用户在存储库上运行hg update
并收到以下消息:
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
Not trusting file .hg/hgrc from untrusted user root, group dev
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
abort: Permission denied: /dev/src/backend/java/com/tt/afr/schedule/service/ScheduleComparator.java
在/etc/mercurial/hgrc
中,我们有:
trusted.users=root
在运行hg update
的用户的主目录中,我们有这个hgrc文件:
[trusted]
users = root
groups = dev
用户使用ssh
连接到服务器并运行命令。
我们可以做些什么来解决这个问题?
答案 0 :(得分:71)
请阅读help on trust in Mercurial并确保您已在服务器上添加了信任设置。当您通过SSH连接时,您信任或不信任本地信息并不重要 - 它是您在服务器上运行的hg
二进制文件(通过SSH隧道),需要信任配置文件。
另请注意,您需要输入
[trusted]
users = root
在服务器上的/etc/mercurial/hgrc
文件中。我们在讨论配置设置时使用的section.key = name
语法仅适用于命令行。
答案 1 :(得分:25)
对于将此解决方案添加到他们的/repo/.hg/hgrc且未发生任何事情的其他人,此解决方案对我有用: https://j.ee.washington.edu/trac/gmtk/ticket/33
加入/etc/mercurial/hgrc.d/trust.rc
[trusted]
groups = yourgroup
users = youruser
基本上,写入/repo/.hg/hgrc的权限将不起作用,因为文件本身归不受信任的用户所有。