为什么我需要在gitolite钩子中读取STDIN

时间:2013-11-07 05:45:45

标签: git gitolite

当我运行git push to origin时,有时我得到如下错误:
error: git-shell died of signal 13
fatal: The remote end hung up unexpectedly
如果再次尝试,它成功了,但不知道原因。有人可以点灯吗?

顺便说一句,我复制了来自herepost-receive.mirrorpush挂钩,其中提到了:
# flush STDIN coming from git; we have no use for that info in this hook but
# if you don't do this, git-shell sometimes dies of a signal 13 (SIGPIPE)
[ -t 0 ] || cat >/dev/null

我应该在pre-receivepost-receive挂钩中阅读STDIN以避免这种情况吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

任何语言的任何接收后或预接收挂钩都可能会看到此错误。这与gitolite无关,除了v2显然使用post-receive hook来实现镜像。 V3不使用那些git钩子。

OP不清楚他是否正在使用镜像,或者他有自己的后接收钩子,并且他正在使用该代码作为"这是发生了什么?"