Git で管理していたプロジェクトを、Google Codes (Subversion) にも突っ込んだ。面倒だったので、ちとメモ。
Git repository の作成
まずは Git repository の作成。lpaldb というプロジェクトを作る。
$ mkdir lpaldb $ cd lpaldb $ touch README $ edit index.html $ ... $ git init $ git add . $ git commit -m 'first commit' $ cd ..
Google Codes のレポジトリー
Google Codes の Hackathon 用リポジトリーは、複数のプロジェクトを次のやうに管理している。
/branches /tags /trunk /Hackathon-Title ... /gae20090411 /gae200906 /html5_20091003 /wiki
trunk 以下のハッカソンごとのプロジェクトを。更にその下の各人のプロジェクトを置く形式。
今回は、/trunk 以下の html5_20091003 の下に自分のプロジェクト lpaldb を突っ込む。
Git Svn
Git Svn を使うと、Git で Svn のリポジトリーを操作できる。
ただ、hackathon-jp はとても大きなリポジトリーなので、全てのリポジトリーをローカルに持って来るのは大変。必要なコードも一部だけなので、それは避けたい。
そこで、/trunk/html5_2009103 以下だけを取って来た。git svn clone に Trunk を指定する -T オプションを使う。
$ git svn clone https://hackathon-jp.googlecode.com/svn/trunk -T html5_20091003 html5
これで html5 というディレクトリーが出来る。
これにさっきの git repository を追加する。
$ cd html5 $ git fetch ../lpaldb master:lpaldb
lpaldb (git) を lpaldb branch として html5 に取り込み。
$ git checkout lpaldb $ mkdir lpaldb $ git mv html lpaldb $ git mv README lpaldb $ ... $ git commit -m 'Move lpaldb source into lpaldb dir'
lpaldb branch をきれいにしたら、master ブランチに merge。その後、本家 svn repository へアップする。
$ git checkout master $ git merge lpaldb $ git svn dcommit
これでお終い。フゥ、一苦労。もっと楽な方法があったら教えて下さい。
No comments:
Post a Comment