git-svn で branch を扱う
一応、メモ。
branch ごと clone する
SourceForge から kai を取得する例。
$ git svn clone https://kai.svn.sourceforge.net/svnroot/kai -T trunk -b branches -t tags
branch が増えた場合
git svn rebase は、現在の作業 branch を更新するだけなので、下記のようにする。
$ git svn fetch svn
これで、増えた branch を取得できる。末尾の "svn" オプションは、.git/config を参照の事。
branch の操作
まずは、リモート branch の確認
$ git branch -r
cooldaemon_embed_tcp_server
takemaru_config_get_list_of_keys
trunk
ローカルに持ってきつつ、作業 branch を切り替える
$ git checkout -b config_get_list_of_keys takemaru_config_get_list_of_keys Switched to a new branch "config_get_list_of_keys"
作業 branch が切り替わっているか確認
$ git branch * config_get_list_of_keys embed_tcp_server master
この状態で、修正作業を行い、git commit して git svn dcommit すると、takemaru_config_get_list_of_keys branch に commit される。
config_get_list_of_keys を embed_tcp_server に merge してみる。
$ git checkout embed_tcp_server Switched to branch "embed_tcp_server" $ git merge config_get_list_of_keys --no-ff Merge made by recursive. src/kai_config.erl | 18 +++++++++++++----- test/kai_config_SUITE.erl | 5 +++++ 2 files changed, 18 insertions(+), 5 deletions(-)