subversionのリポジトリをgitに変換はよくあると思うが、gitのリポジトリをSubversionに変換というのを今回やりたい。

というのも、何度もいっているが、中央には、Subversionで、各ワークをgitで私は使いたいからだ。
(これは、Tracとはviewvcとか、すでに構築してしまった環境を変えるのも面倒というのもある。)

しかし、今回はとりあえず、ネットにつながっていない環境で初めてしまったgitのリポジトリをSubversionに変換して、
再度、git-svnで再開したいのだ。

こんな用途を持っている人はあまりいないのか、WEBで方法を探したがすぐには見つからなかったので、
自分なりに、次のような手順でログ情報だけでも取り込むことにした。

Subversionのリポジトリを作成

ここでは、Subversionでのリポジトリを作成する方法は述べない。
で、svnで、trunk , tags, branches のディレクトリを作成し、コミットしておく。
これで、リビジョンは、[1]になったわけだ。

※どうやら、log情報がないとこれからやる処理がうまくいかないらしく、リビジョン1を作成するためにやった。

git-svnで、リポジトリの情報を取得

git svn clone svn://・・・・・ -T trunk -t tags -b branches

これで、gitとしてのワークができあがったことになる。

gitで育ててしまったワークをgit-svn のワークのリモートとして登録する。

ここでは、/home/foo/local.git がgitのリポジトリとする。
また、その名前を”org”としてつけた。

もちろん、このコマンドはgit-svn のワークの中で行う。

git remote add org /home/foo/local.git
git fetch org

パッチファイルを作成する。

ここで、git-mergeをはじめ行ったが、それでは、リビジョン1の前のログとなってしまい、Subversionにログを登録することができなかった。
そのために、git-format-patch を使った。

git format-patch -o patches master..org/master
git am patches/*.patch

できあがったログをSubversionにコミットする。

git svn dcommit

で終了だ。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2010年2月
« 1月   3月 »
1234567
891011121314
15161718192021
22232425262728

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ