svkでCannot find the path which '' copied fromといわれた時の対処法

読了まで:約1分


概要: svk2.0.0 でsvk pushができない。


svk 使って自作記法のモジュールを開発していたとき、 変更内容をオリジナルのリポジトリに反映しようと思ってsvk pushしたんだけど、 Cannot find the path which '' copied fromといわれてsvk pushが出来なかった。 で、色々調べた結果、svk のバグらしいんだけど、回避しないと先に進めないので、その回避法。

まず、Cannot find the path which '' copied fromになる条件なんだけど、 これはどうも、ミラーリポジトリをコピーしたローカルリポジトリの下位のディレクトリをチェックアウトして、 svk pushしようとするとなるらしい。

要するに、

# オリジナルのミラー
//mirror/lib
# //mirror/libの作業コピー
//local/lib
# チェックアウトした対象
//local/lib/CPAN/Text-Nyarlax/trunk

というリポジトリの構成で、//local/lib/CPAN/Text-Nyarlax/trunkをチェックアウトして、 チェックアウトしたディレクトリでsvk pushしようとすると上記エラーが出る。

で回避方なんだけど、チェックアウトしたパスの最上位のパス、 つまり//local/lib/CPAN/Text-Nyarlax/trunkだったら//local/libをチェックアウトして、 そこでsvk pushするとちゃんとsvk pushが出来る。結構めどいんだけど。

自分で直せるかなーと思って svk のコード見てみたけど、 どこでおかしくなってるかのか見当がつかなかった。 なので何でこうなるのか不明。

ちなみに上記解決法は自分の環境ではそうなったということであって、 他の環境でもそれで解決できるかどうかは分からない。

昨日はこれでだいぶ煮詰まってました。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。