我试图创建一个gerrit-hook来自动推送上游。当一个变化合并到一个仓库(例如,dev repo)时,我想向上游(到QA)进行审查。我试图在变更合并的钩子中做一些事情:
#!/bin/bash
log=/tmp/`basename $0`.log
echo Running $BASH_SOURCE
set | egrep GIT > $log
env > $log
region=`basename /repos/dev.git .git`
echo region=$region
[ $region == "dev" ] && git push -u ssh://user@host:29418/qa HEAD:refs/for/master
echo $log
mailx -s $0 my@email.com < $log
*不确定在哪里设置“git remote add upstream ssh://”位,所以我尝试了以上操作。 *也是钩子全局(不是每个回购)?
答案 0 :(得分:2)
首先,您应该阅读钩子上提供的文档。 其次,钩子不在git目录中执行。您需要使用GIT_DIR环境变量来访问您的git目录。 钩子是全球性的而不是每个回购。但是,当然,这并不能阻止你使用像$ GIT_DIR / hooks / my_hook
这样的东西来创建你自己的东西。