kyos1704活動記

適当に考えたことや調べたことを垂れ流すものです。質問等ありましたらtwitter:@kyos1704 に質問してください。

windows OS上で立てたgit daemonにWindowsからgitプロトコルでpushすると遅い

問題

アクセスがとても遅い(push pullかかわらず)

状況

  • リモートリポジトリ

    • 環境

      • Winsdows Server 2019 Standard 1809
      • Git for Windows
    • 起動コマンド

      git daemon --verbose --export-all --enable=receive-pack --base-path=XXXX

      通信時、unable to set so_keepalive on socket: input/output error が起きている

  • ローカルリポジトリ

解決方法

  • Server側起動コマンドに --reuseaddr コマンドをつける

    git daemon --reuseaddr --verbose --export-all --enable=receive-pack --base-path=XXXX

  • ローカルのgit bashgit config global sendpack.sideband false を入力する

解決後の状況

unable to set so_keepalive on socket: input/output errorはそのままだが、通信速度は改善

参考

  • --reuseaddrについて

Git - Git デーモン

Windows から git プロトコルで push するとハングアップする - 仮運用中

Git for Windows (msysgit)のgitプロトコルハングアップ問題 - torutkのブログ

  • その他

Git - プロトコル

Git - 転送プロトコル