(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 | -- |
Git SVN の特徴とか
Bazaar SVN の特徴
Git みたいに、一つの作業ディレクトリでブランチを切り分けるということを考えてません。てかそんなの考えたこと有りません。ややこしいですし。
上記のコミットでコミットした場合、SVNのリポジトリにコミットしてしまうので、下記の図のように、main_trunk(bazaarとSVNの中間ディレクトリ)とwork_trunk(作業ディレクトリ)を分けてやる必要があります。*3
+--------+ +-- Local Machine --+ | Server | <== commit ======= ~/main_trunk | +--------+ | ^ | | | | | push | | | | | ~/work_trunk | +-------------------+