やりたいこと
ファイルサーバで運用されているSubversionリポジトリをGitリポジトリとしてGitサーバに登録したい。
達成手順
- ローカルで空のGitリポジトリを作成
git svn init -T file://192.0.2.1/path/to/trunk -b file://192.0.2.1/path/to/branches -t file://192.0.2.1/path/to/tags # file://192.0.2.1/path/to/trunk などはSVNリポジトリのURL - SVNリポジトリをGitリポジトリに取り込み
git svn fetch - GitのリポジトリURL設定
git remote add origin hoge@hoge.git.com:/svntogit.git # hoge@hoge.git.com:/svntogit.git は登録したいGitリポジトリのURL
以上です。
悩んだこと
SVNリポジトリのURLスキームが file://
Gitに移行する対象のURLスキームが svn:// ではなく file:// であった。
今回は file://c:/path/to/trunk のようなローカルドライブではなく file://192.0.2.1/path/to/trunk のようにサーバ指定だったため特に気にせず指定できた。
ローカルドライブの場合は file://c/path/to/trunk のように ドライブ名の後のコロンを削除する必要があるとのこと。
SVNリポジトリのURLに空白が混じっている
file://192.0.2.1/subversion/プロジェクト番号 123/プロジェクト名
上記パスのように プロジェクト番号 と 123 の間に空白文字が含まれていると別の引数として認識されてしまう。
こういう時は "file://192.0.2.1/subversion/プロジェクト番号 123/プロジェクト名" のようにダブルクォーテーションで囲めばよいです。
