- blogs:
- cles::blog

svn2git でリポジトリを git に移行


昔使っていた svn リポジトリのプロダクトを復活させる必要があったので、これを機に管理を git に移行することにしました。
移行に使ったのは svn2git というツール。
† 準備
まずは gem で svn2git をインストール
次に svn のログの author を git の author にマッピングするためのファイルを以下のような形式で作成しておきます。
~/.svn2git/authors
† svn -> git 変換
svn2git は処理を行ったマシンのローカルに git のリポジトリができます。また、チェックアウト時のようにディレクトリを新たに作らずに、直にカレントディレクトリにファイルが展開されるので、必ず新しいディレクトリを作ってから svn2git を起動する必要があります。例えばローカルに svn リポジトリがある場合であれば下記のような感じになります。
† リモートサーバに反映
このままでリモートのサーバにコードが反映されていないので、以下の手順でリモートサーバにコードを反映します。
あらじめ github などでリモートサーバにリポジトリを作成し、URLを取得しておきます。
取得した URL を使って git にリモートサーバを登録します。
続いて以下のコマンドを実行すると実際にリモートにコードが反映されます。
接続先の URL が HTTPS の場合には以下のように GIT_SSL_NO_VERIFY=true が必要になるかもしれません。
ここまでの一連の作業で svn -> git 移行を行うことができました。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7639
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112851)
3 . 年次の人間ドックへ(112293)
4 . 2023 年分の確定申告完了!(1つめ)(111858)
5 . 三菱鉛筆がラミーを買収(111736)