使用mercurial设置文件所有权

时间:2010-11-03 15:39:13

标签: linux mercurial workflow chown

我使用mercurial作为我工作流程的一部分,并且运行良好。我有一个琐碎的问题。当我从中央存储库下载到我的Linux Web服务器以进行升级时,我正在使用“root”用户。这似乎将所有者和组分配给“root”用于任何新的或更改的文件。

不幸的是我遇到了其他困难,所以我总是要经历并将所有文件重置为正确的组和所有者(Web服务器上的非root用户)。

有没有办法让mercurial自动执行此操作,或者有人有快速的方法吗?我正在使用shell并且必须输入

chown -R username /home/username

我尝试用chgrp做类似的事情。整件事看起来很混乱,我怀疑有一种更简单的方法来完成我需要的东西。有没有办法在从存储库中提取时设置所有者和组?

2 个答案:

答案 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