Git hook:启用echoing命令

时间:2011-09-01 06:30:54

标签: git githooks

有没有办法在git hook中启用echo

/var/git/repositories/project.git/hooks/post-update

#!/bin/bash
unset GIT_DIR;
echo '========post-update hook========='

cd /var/project;
git reset --hard;
git checkout testing;
git pull;
chmod -R 774 ./lib

update-apps

另一个mashine所需的git push输出:

#git push
...
Writing objects: 100% (10/10), 5.98 KiB, done.
Total 10 (delta 3), reused 8 (delta 1)
========post-update hook=========
cd /var/project
git reset --hard
git checkout testing
git pull
chmod -R 774 ./lib
update-apps

这只是一个例子,实际的命令链可能更复杂

并在某处失败

我应该以某种方式将stdout重定向到stderr吗?

更新

目前我的git push输出正常,然后========post-update hook========= ......什么也没有

哦! git版本是1.5.6.5

2 个答案:

答案 0 :(得分:4)

应转发stdout或stderr上的所有输出。它应该适用于所有pre-receiveupdatepost-receivepost-update个钩子。在bourne shell中使用set -x启用了回显命令。

答案 1 :(得分:2)

来自githooks手册:

  

标准输出和标准错误输出都转发到git   另一端发送包,所以你可以简单地回复消息   用户。

但是在某些早期版本的Git以及早期版本的Smart HTTP中存在一个已知问题,即输出未发送。更新您的git版本并尝试。