GitへSVNから移行時にエラー-Ignoring error from SVN

GitでSVNに移行しようとした時のエラーの話。

先日、とあるSVNのリポジトリーをGitへ移行しようとした際、
cloneしても、どうしても空のGitリポジトリーができてしまって、うーん、ってなりました。
通常、SVNからGitへ移行する際のやり方はこんな感じです。

今回、登場したエラーは、
Ignoring error from SVN, path probably does not exist

まんまですね。
ないよ、って怒られてます。

実は、この原因は簡単で、SVNでtrunkやbranch、tagといったバージョン管理をやっていないことが問題なのです。
根本はtrunkがないことですね。
でもね、ほら、そこまで複雑に管理しないものって、つい複数人で共有できて、単一でバージョン管理できれば良いやってなっちゃう時あるものね。仕方ないよね(笑。

さて、では何故trunkがないと怒られるのか…
というのも、GitでSVNからcloneしようとする時、デフォルトでtrunkからデータを取得しようとするからです。
.git/configの中を見て頂ければ分かるのですが、fetch先に自動でtrunkが指定されているはずです。

ですので、このcloneしてくる先をオプションで変更してあげます!

通常は、
git svn clone -s –prefix=origin/ SVNのリポジトリーURL

ですが、trunkオプションで取得するtrunk先のパスを指定してあげます。

git svn clone -s –prefix=svn/ –trunk=/ SVNのリポジトリーURL

上記の例ではルートを指定していますが、自分でSVNに管理しているパスを指定してあげればOKです。

これで問題なくローカルにSVNからcloneしたデータが、gitリポジトリーとして作成されるはずです。

ということで、お疲れ様でした!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です