最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
これまでは VPS サーバー上に subversion (svn) の中央リポジトリを持っていたのですが、svn から git がメインになってきたので、思い切って git リポジトリに変換して bitbucket にホスティングするようにしてみました。
下記はその時のメモです。
svn から git に変換する
bitbucket どうこうの前に svn から git リポジトリに変換しないといけません。
変換の仕方はいろいろあるんですが、手っ取り早いのは svn2git ってのを使う方法ですかね。
まずは git-svn が使えるようにしないといけないので、git を入れ直します。下記の例は FreeBSD で ports を使っていれていた場合です。
make config でoptionsを変更します。オプションの一覧が表示されたら SVN の項目にチェックを付けて OK します。
1 2 |
# cd /usr/ports/devel/git # make config |
そのあとは portupgrade コマンドで git を入れ直します。
1 |
# portupgrade git-1.8.0.3 |
次に svn2git を入れるのですが、これは ruby で書かれたスクリプトなので、ruby を入れておいてくださいね。
1 2 |
# gem sources -a http://gems.github.com # gem install nirvdrum-svn2git |
これでokです。
この後は svn2git を使ってリポジトリを変換するのですが、 svn でコミットした時のユーザーを git にも引き継げるように設定ファイルを書いておきましょう。
1 2 |
$ vi ~/.svn2git/author > torut = Toru Tamura |
イコールの左側が svn でのユーザー名で、右側は git の設定になっている core.name と core.email にしておきます。
もし他にもユーザーがいる場合はそれぞれ設定しておいてください。svn2git で新しいsvnユーザーが見つかった時に author ファイルに記述がないとそこで一旦止まります。
いよいよ svn2git で変換します。大文字のところはそれぞれ読み替えてください。
1 2 3 |
$ mkdir ~/git/SVN_REPO_NAME $ cd ~/git/SVN_REPO_NAME $ svn2git SVN_URL |
これで自動的に svn から git に変換され、svn でのコミットログも引き継がれます。
bitbucket に push する
bitbucket への push は次のとおりです。
1 2 |
$ git remote add origin BITBUCKET_REPOSITY_URL $ git push --set-upstream origin --all |
これで bitbucket の private reposity に push されました。
コメント
[…] 個人的な svn リポジトリを bitbucket に移した | T.T.Soft Code Blog […]