dump file の手作業での修正を試みる
とりあえず必要なパスが含まれている node とそれを含む revision、copy してる revision をスクリプトで抜き出して、全部で 700 ちょい。これを load しながらどうしてもエラーの出るところに関しては手作業で dump ファイルを修正してみている。
エラーが起きるのは基本的に svn copy を実行する、ブランチタグを切る revision がほとんどなので、そんなにむちゃくちゃな数にはならない。あとは必要なパスの上の階層がすでに add されていないといけないので、その分も加えてやる。
これを全部自動化できればベストだが、とりあえず方法として間違っていないかどうかの確認を兼ねて実験。
結果、dump ファイルのパースをする際に無造作に改行コードを chomp したのがいけなかったのか、途中でデータに矛盾が出てきた。そこまででできあがったリポジトリを見る限り、そこまではうまく抜き出せていそうなので、あとはその辺をクリアできるかどうかだけかな?
改行コード周りかなーと踏んでいるのは、Subversion は内部の改行コードを LF に統一しているとマニュアルに書いてあるのに CRLF がそのまま入ってる箇所があったため。これはたぶん何らかの不具合の結果なんだと思うけど、実際に CRLF になってしまっているため、Ruby で chomp( "\n" ) すると \r\n が削れてしまい、出力時に \n しか付加しなかった場合は変換後のデータがオリジナルのデータと食い違ってしまう。結果、Content-length も md5 も合わない。
続きは休み明け。とりあえず狙った形のリポジトリには近づいている。
※ 最終的には手作業での dump ファイル修正を含めて目的の形にリポジトリを分割することができました。
cf.