Ошибка в демультиплексоре боковой полосы с перехватчиком git post-receive

Я настроил один из своих экземпляров EC2 с помощью git и, используя хук после получения, я развернул его на своем сервере с помощью это руководство. Это вывод из моей консоли:

$ git push production master
[email protected]'s password:
Counting objects: 26, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 2.51 KiB, done.
Total 19 (delta 14), reused 0 (delta 0)
fatal: The remote end hung up unexpectedly
error: error in sideband demultiplexer
To [email protected]:halftown.git
   5d5e809..eb30e51  master -> master
error: failed to push some refs to '[email protected]:git_application.git'

Пожалуйста, дайте мне знать, если вам нужно что-то еще, чтобы помочь мне решить эту проблему.


person Jeff Thomas    schedule 06.03.2012    source источник
comment
возможный дубликат Git отвечает "ошибкой в ​​демультиплексоре боковой полосы"   -  person Amber    schedule 07.03.2012
comment
Я изначально думал, что это дубликат, однако сброс головок не помог. Моя проблема, я считаю, заключается в том, чтобы заставить хук читать STDIN.   -  person Jeff Thomas    schedule 07.03.2012


Ответы (1)


Я понял проблему, которая у меня была. По-видимому, вы должны убедиться, что прочитали все из STDIN, прежде чем завершить сценарий.

Это был мой хук после получения раньше:

#!/bin/sh
git checkout -f

Вот что я добавил, что решило проблему:

#!/bin/sh
while read oldrev newrev refname
do
:
done
git checkout -f
person Jeff Thomas    schedule 06.03.2012
comment
Независимо от того, на каком языке вы пишете свой хук, просто убедитесь, что вы сначала прочитали STDIN. - person Jeff Thomas; 07.03.2012