【发布时间】:2012-07-03 20:27:03
【问题描述】:
我找不到任何关于如何正确执行此操作的帖子/文章 - 通常这意味着您使用错误,所以我想我会在这里要求检查 :)
我正在使用 Gitolite,它运行良好。我已经实现了一个常见的接收后挂钩,以便在我的团队成员推送新提交时收到通知,我为他们的存储库激活了该提交。我遇到的问题是,每次推送后(无论钩子是否已更改),文件都会被覆盖并获得以下权限:
rwel@ve-git:~$ ls -la /home/git/.gitolite/hooks/common/
total 36
drwxr-xr-x 2 git git 4096 Jul 3 13:23 .
drwxr-xr-x 4 git git 4096 May 1 15:41 ..
-rw------- 1 git git 21002 Jul 3 13:23 post-receive
-rwxr-xr-x 1 git git 308 May 15 16:24 update
所以,每次我执行gitolite-admin rwel$ git push origin,我都必须登录到 git 服务器并手动执行sudo chmod a+x /home/git/.gitolite/hooks/common/post-receive。
有没有更好的方法来做到这一点?
【问题讨论】:
-
您是在使用 gitolite V2(或 g2,带有 gl-xxx 命令)还是带有
bin/gitolite脚本的 Gitolite V3(或 g3)? -
看看 serverfault:serverfault.com/q/221978 和 serverfault.com/q/26954 --- 不知道我是否应该将其作为答案发布
-
@VonC:抱歉,忘了说。 V3.
-
@helt:这两个都不是我的答案。
UMASK不好,因为所有者甚至没有获得 x 权限(umask 为 0)。另一篇文章(我认为)解释了如何设置权限,但没有解释如何正确设置权限,对吧? -
您的 Linux 系统“umask”返回什么? (我看了stackoverflow.com/a/8598684/6309后问)
标签: git permissions hook gitolite