「TortoiseSVN 1.6.8」を使って、コミットする際に、必ず途中で失敗してしまうフォルダがいくつかあります
例えば、50MBほどで、3400ファイルを含むものや、150MBで、2500ファイルを含むもの、です。
フォルダ内のファイルごとのの容量は、最大のものでも500KB以下です。
50MBのフォルダでも、ファイル数が1000ほどだと、問題なくコミットできます。
コミット失敗時のエラーメッセージは以下になります。
-------------------------------------
エラー コミットに失敗しました。
エラー 1つ以上の属性を変更できませんでした。リポジトリに変更は加えられていません。
エラー PROPPATCH(URL:
エラー Could not read status line: 既存の接続はリモートホストに強制的に切断されました。
-------------------------------------
エラーが起こらないように、subversionの設定を変更したいのですが、どのファイルを修正すればよいのでしょうか?
また、エラーで失敗しても、最初からではなく、途中からやり直すようにできないでしょうか?
ご存知の方、教えてください。
> エラーが起こらないように、subversionの設定を変更したいのですが、どのファイルを修正すればよいのでしょうか?
apache側で制限かけてるんじゃないですか?もしくはカーネルパラメータの制限に引っかかってるか。
apacheのエラーログとか、syslogとかに何か書かれてないですか?
クライアント側のエラーだけじゃなんともいえないです。
> また、エラーで失敗しても、最初からではなく、途中からやり直すようにできないでしょうか?
「コミットがアトミックである」(変更分全てが更新されるか、1つも更新されないかどちらか)というのがsubversionの特長なんで、これは無理でしょう。
1つのフォルダに入れるファイル数とか、合計サイズが大きくなりすぎないようにフォルダを分割して使うのがよいです。
すでにコンパイルを試みたようなものだと、所有者がたとえばwwwなどになっていると、subversionサーバーにも同様の所有者があり、再現できないので、エラーになりがちです。
>> エラーが起こらないように、subversionの設定を変更したいのですが、どのファイルを修正すればよいのでしょうか?
>apache側で制限かけてるんじゃないですか?もしくはカーネルパラメータの制限に引っかかってるか。
>apacheのエラーログとか、syslogとかに何か書かれてないですか?
>クライアント側のエラーだけじゃなんともいえないです。
/var/log/access_log、error_logを見てみましたが、特に異常はありませんでした。
apache設定は、デフォルトのままだったので、いろいろと変更して試していたのですが、
Keep-AliveをOff→Onにしたところ、エラーが出なくなりました。
>> また、エラーで失敗しても、最初からではなく、途中からやり直すようにできないでしょうか?
>「コミットがアトミックである」(変更分全てが更新されるか、1つも更新されないかどちらか)というのがsubversionの特長なんで、これは無>理でしょう。
なるほど。
>1つのフォルダに入れるファイル数とか、合計サイズが大きくなりすぎないようにフォルダを分割して使うのがよいです。
1つのフォルダが、1つのサイトのデータなので、内部のファイル構成を変えるわけにはいかない事情があります…
ApacheのKeepAliveの設定で、解決することができました。
アドバイスありがとうございます。