有没有办法在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
答案 0 :(得分:4)
应转发stdout或stderr上的所有输出。它应该适用于所有pre-receive
,update
,post-receive
和post-update
个钩子。在bourne shell中使用set -x
启用了回显命令。
答案 1 :(得分:2)
来自githooks
手册:
标准输出和标准错误输出都转发到git 另一端发送包,所以你可以简单地回复消息 用户。
但是在某些早期版本的Git以及早期版本的Smart HTTP中存在一个已知问题,即输出未发送。更新您的git版本并尝试。