SVNリポジトリ上に存在する複数のブランチやtrunkの間で、 変更点をマージしたりする方法のメモです。

まず、これからSVNリポジトリをgit svn cloneすると言う場合は、以下のような オプションを指定して実行します。

   1  git-svn clone http://svn.repos.com/foo -T trunk -b branches -t tags

これで、SVNリポジトリ上のtrunk, branches, tagsをGitのbranchとして全て取り込んだ状態でcloneが実行されます。

git-svnでcloneした既存のWorking copyが手元にあって、 そこに別なbranchやtrunkを追加したい場合は、以下のように.git/config ファイルに項目を加えます。

   1  [svn-remote "svn"]
   2    url = http://svn.repos.com/foo/branches/bar
   3    fetch = :refs/remotes/git-svn
   4  [svn-remote "trunk"]
   5    url = http://svn.repos.com/foo/trunk
   6    fetch = :refs/remotes/git-svn-trunk

下の方が今回追加したものです。 あとは、以下のコマンドを実行してSVNからfetchしてきます。

   1  % git svn fetch trunk

そうすると、以下のようなブランチが作成されます。

   1  % git branch -r
   2    git-svn
   3    git-svn-trunk

ここから先は、普通にGitのbranchとしてmergeすればOKです。

See Also

posted by Png genki on Fri 13 Jun 2008 at 15:50

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry618
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ