在每次gitolite-admin推送之后,Gitolite后接收挂钩不再可执行

时间:2012-07-03 11:54:45

标签: git permissions hook gitolite

我无法找到关于如何正确执行此操作的任何帖子/文章 - 通常这意味着您使用错误,所以我想我会在这里要求检查:)< / p>

我正在使用Gitolite,它的工作非常完美。我已经实现了一个公共的post-receive钩子,当我的一个团队成员推送一个新的提交时我会被通知,我已经为他们的repos激活了。我遇到的问题是,每次推送后(无论挂钩是否已更改)文件都被覆盖并获得以下权限:

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

had the same Problem。简短的回答是:

在unix机器上查看gitolite-admin存储库,chmod +x您的文件并推送它。

从现在起,该文件是可执行的,即使在Windows上克隆了repo(从cloning on windows sets core.fileMode=false开始)