【发布时间】:2012-06-15 15:53:54
【问题描述】:
我想添加一个提交钩子,当在 gitolite/git 服务器上收到推送时,只针对给定分支和 repo 组合(repo 'dog' 上的分支'cat')。
我的环境: git 版本 1.7.4.1,
到目前为止我做了什么:
触摸了 git/gitolite 服务器上
/home/git/repositories/dog.git/hooks/post-receive.secondary的文件。-
用内容编辑文件:
#!/bin/sh # refname="$1" oldrev="$2" newrev="$3" if [ "$refname" == "refs/heads/cat" ] then touch /tmp/test fi 将文件的所有者设置为“git”用户
设置文件权限为700
提交到“dog”回购的“cat”分支
结果: 未创建测试文件
【问题讨论】:
-
如果在脚本中添加回显,它会显示吗?你有 gitolite v2 还是 v3?
-
@VonC - 来自 src/CHANGELOG 我相信我正在运行 v2.0,但我找不到要执行的二进制文件来验证这一点。我会检查脚本中的 echo 命令并尽快回复
-
简单:如果你的 gitolite 中有 '
gl-xxx' 命令,这是 V2。 -
@VonC - 它们不在我的 PATH 中,但 /home/git/.gitolite/src 中有 gl-xxx 命令,是的
-
如果我手动运行脚本,传入 refname 然后是的,它执行得很好,它根本没有被执行,或者当我将代码提交到那个 repo 上的那个分支时以某种方式失败
标签: git gitolite githooks git-post-receive