我使用mercurial作为我工作流程的一部分,并且运行良好。我有一个琐碎的问题。当我从中央存储库下载到我的Linux Web服务器以进行升级时,我正在使用“root”用户。这似乎将所有者和组分配给“root”用于任何新的或更改的文件。
不幸的是我遇到了其他困难,所以我总是要经历并将所有文件重置为正确的组和所有者(Web服务器上的非root用户)。
有没有办法让mercurial自动执行此操作,或者有人有快速的方法吗?我正在使用shell并且必须输入
chown -R username /home/username
我尝试用chgrp做类似的事情。整件事看起来很混乱,我怀疑有一种更简单的方法来完成我需要的东西。有没有办法在从存储库中提取时设置所有者和组?
答案 0 :(得分:8)
你应该像你不是以root身份一样,然后你就不会有这个问题。但是,如果由于某种原因这是不可行的,您可以始终使用更新挂钩来更正文件权限。在您的存储库的.hg/hgrc
文件中,您要放置:
[hooks]
update = chown -R username:usergroup /home/username
该命令将在每个hg update
(或hg pull -u
)之后自动运行。
答案 1 :(得分:1)
您可以通过单独定义每个钩子来添加多个钩子
[hooks]
update.command1 = chown -R username:usergroup /home/username
update.command2 = chown username2:usergroup2 /home/username/excludeme