Modern git versions (>= 2.32) have a optimization enabled where the
socket communication is moved into half-duplex mode once the client has
sent all necessary data and is waiting for RX. git is simply closing the
TX part of the socket.

There are proxy implementations out there that will shutdown the
complete communication once the partial shutdown was received - breaking
the git:// protocol.

Using socat with the ignoreeof option fixes this issue. Closing one of
stdin/stdout will not trigger a partial shutdown of the underlying
socket.

ignoreeof is a stone old feature. It will not break in combination with
older git versions - where the partial shutdown will not be triggerend
anyhow.

Link: 
https://lore.kernel.org/git/4831bbeb0ec29ec84f92e0badfc0d628ecc6921d.ca...@siemens.com/
 

Signed-off-by: Florian Bezdeka <florian.bezd...@siemens.com>
---
 scripts/oe-git-proxy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index aa9b9dc9a9..80a7a030a7 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -184,4 +184,4 @@ else
        METHOD="PROXY:$PROXY:$1:$2,proxyport=${PORT}${PROXYAUTH}"
 fi
 
-exec $SOCAT STDIO "$METHOD"
+exec $SOCAT STDIO,ignoreeof "$METHOD"
-- 
2.39.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176533): 
https://lists.openembedded.org/g/openembedded-core/message/176533
Mute This Topic: https://lists.openembedded.org/mt/96676758/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to