Git
git-svn

git svn fetch で The server sent an improper HTTP response エラー対策

SVNブランチのマージに失敗した人が居て、その影響で大量のファイルが新規作成されることになり、アップデートが長すぎてSVNがこけるようになった。

SVN自体はクライアントの機能を有効化するとアップデートできるけれど、git-svnではその機能がどうもデフォルトでは有効になっておらず、有効にする方法も見当たらず困っていた。

環境

$ git svn --version
git-svn version 2.18.0.windows.1 (svn 1.9.7)

試したこと

%APPDATA%/Subversion/servers に以下を追加する。
(TortoiseSVNかSVN.exeを導入時に作成されていた?)

http-bulk-updates = yes

このときのファイルパスを c:/path/to/Subversion/serversとする。
serversがおいてあるパスをgit-svn-fetch時に指定する。

git svn fetch --config-dir=c:/path/to/Subversion

すると100回以上失敗していたfetchが成功した。

とはいえ--config-dirオプションに関する情報が少なく、たまたま成功しただけかもしれないので、機会があればもうちょっと試してみる。

試してないこと

ここによると、%APPDATA%/Subversion.subversionとしてシンボリックリンクを張ると良いとのことなので、~/.subversionに張れば毎回config-dirオプションを利用せずにすむのかな?

もともと~/.subversion/serversがあったため、そちらに上記の対応を追加し、--config-dirオプション抜きで試してみる。