環境
CentOS 7.7
手順
-
必要なパッケージをインストールする
$ sudo yum install -y git-svn
-
SVN と Git のユーザ情報のマッピングファイルを作成する
$ vi authors
authors# format svn-user-name = git-user-name <git-user-email>
-
SVN リポジトリを Git のリポジトリとして clone する
$ git svn clone --stdlayout --no-metadata --prefix=svn/ --localtime --authors-file=authors <svn-repository-url>
clone 時に使用するオプションについて
- --stdlayout
- SVN のリポジトリが trunk, branches, tags の構成になっている場合に使用する
- --no-metadata
- コミットログに SVN のメタ情報を残さない
- --prefix=svn/
- SVN のリポジトリから作成したブランチに、指定したプレフィックスをつける(ex.
remotes/svn/trunk
)
- SVN のリポジトリから作成したブランチに、指定したプレフィックスをつける(ex.
- --localtime
- コミットログの Date 情報をローカルのタイムゾーンに合わせる(デフォルトはUTC)
- --authors-file=authors
- コミットログの Author 情報を指定したファイルで置換
今回は Git のローカルリポジトリを作成するところまで検証した。
あとは git remote add
でリモートリポジトリを追加してプッシュしてやれば良さそう。