SVNでエラー「E120106」が発生する場合の対処法

Subversionでエラー「E120106: ra_serf: The server sent a truncated HTTP response body.」が発生してチェックアウトできない場合の対処法を解説します。

SVNでチェックアウトができずに詰む

svn checkoutをしている途中で、「E120106: ra_serf: The server sent a truncated HTTP response body.」が発生して止まってしまいました。しかも、作業コピーの状態が中途半端なため、再度のsvn checkoutsvn updateもできない状態で詰んでしまいました。

原因

巨大なリポジトリでチェックアウトに時間がかかる場合、サーバーの設定が不適切(タイムアウトが短い)だったり回線が不安定な場合にサーバーとの接続が切断されてしまうことで発生します。

対処方法

原因療法1

リポジトリのファイル容量やファイル数を減らすことで、タイムアウトを防ぐことができます。

原因療法2

サーバーの設定の見直し(Apacheの場合httpd.confのTimeoutを大きく)することでタイムアウトを防ぐことができます。
httpd.confの例
Timeout 60000

対症療法

エラーで中断した後に、クリーンアップを行うことで、アップデートを行うことが可能になり、再度レポジトリからのコピーが再開できます。
svn: error: E120106: ra_serf: The server sent a truncated HTTP response body.
svn cleanup
svn update

@bicstone

大石貴則 (Ōishi Takanori) と申します。 Webエンジニア / セキュリティスペシャリスト / 機械エンジニア です。 プロダクトに幅広く携わり、相互成長し続けられるエンジニアを目指しています。

GitHubLinkedIn