at_yasu's blog

ロード的なことを

(Bazaar|git) svn の対応表

Bazaarのsvnと、Gitのsvn、どちらが使いやすいかなと思ったので比べてみるテスト。

各種設定

どちらとも、Subversionに依存。sshのポート番号が違う場合は、.ssh/config をいじるのが基本ぽい。*1

git は branch を同じディレクトリでいじるタイプ。一方で、bazaar は別ディレクトリでいじるタイプなので、そこら辺の差を考慮に入れておく。

コマンド

コマンド Git SVN Bazaar SVN comment
リポジトリ作成 --- --- リポジトリは予めあること前提
チェックアウト git svn clone bzr co url は svn+ssh schemaで確認
コミット git svn dcommit bzr commit*2 SVNのリポジトリに送りつけるのが前提。
作業リポジトリのコミットは別途参照
取得 git svn fetch bzr update --

Bazaar SVN の特徴

Git みたいに、一つの作業ディレクトリでブランチを切り分けるということを考えてません。てかそんなの考えたこと有りません。ややこしいですし。

上記のコミットでコミットした場合、SVNのリポジトリにコミットしてしまうので、下記の図のように、main_trunk(bazaarとSVNの中間ディレクトリ)とwork_trunk(作業ディレクトリ)を分けてやる必要があります。*3

  +--------+               +-- Local Machine --+
  | Server | <== commit ======= ~/main_trunk   |
  +--------+               |          ^        |
                           |          |        |
                           |         push      |
                           |          |        |
                           |    ~/work_trunk   |
                           +-------------------+

*1:Git svnのメモ書き - at_yasuの日記もといメモ書きを参考

*2:注意が必要。「Bazaar SVN の特徴」を参照

*3:てか、AA表記、きいてなくね?なんで?