我在这里搜索了几个问题并且未能得到答案,所以我会询问我的具体情况。
真正简单的post-receive钩子,它只是卷曲到Redmine来强制Redmine在提交时更新repo的视图。 (为了调试我也回应“Post Receive Hook Go”来看
设定: Bare Repo /git/repos/test.git
$ cd ~/
$ git clone file:///git/repos/test.git
$ cd test/
$ vim somefile_gets_updated
$ git commit -a -m 'Tackling bug #1, include the bug number so Redmine will pick it up and associate it'
$ git push origin master
这会按预期提交和推送,但是后接收挂钩不会触发
如果我这样做
$ curl http://localhost:3000/sys/fetch_changesets?key=cGdcUaRr8u4Rr4zXzXhr
并刷新我工作的redmine问题页面,万岁!
如果我在推动之后:
$ ./.git/hooks/post-receive
我明白了:
$ Post Receive Hook Go
它有效,万岁!
所以我知道卷曲有效,即使是收到后的作品,Git也不会解雇它
这是钩子
$ cd .git/hooks
$ ls -l | grep post-receive
$ -rwxr-xr-x 1 bobbydown staff 109 Dec 22 03:42 post-receive
我只是不明白为什么git没有运行钩子......
答案 0 :(得分:1)
在repo 收到推送提交后,post-receive挂钩会触发。
在您的方案中,您的挂钩应位于裸回购中,而不是克隆。