svnからの切り替え先にbzrを検討するなど(最終的にはhgになった‥)

リポジトリ操作にWindowsのGUI操作必須な環境下での切り替え先検討にbzrを候補に挙げるなど。
6
Takumi IINO @troter

bzrって自分のローカルに任意のブランチを作る場合って、ローカルの共有レポジトリを作ってそこに作業対象ブランチをチェックアウトして、そのチェックアウトからローカルの共有レポジトリにトピックブランチを作るって作業をするのか。こういう点はhgとかgitとかの方がいいなぁ。容量的に

2011-01-19 13:33:26
Takumi IINO @troter

「共有レポジトリとブランチ(Repository tree)」と「スタンドアローン(Standalone tree)」の違いって、履歴などの情報を共有するか個別に持つかの違い?。スタンドアローンはディスク食べる。共有レポジトリはgitのブランチに近い事ができる。実体があるけど。

2011-01-19 13:37:36
Takumi IINO @troter

次のような操作をした場合を想定: mkdir ~/sandbox; cd sandbox; bzr init-repo --2a bzr; cd bzr; bzr checkout lp:bzr.dev; bzr branch bzr.dev bzr.troter;

2011-01-19 13:58:02
Takumi IINO @troter

ここら辺を参考にしている http://j.mp/e0zt2S bzr branch bzr.dev bzr.troterなのかbzr checkout bzr.dev bzr.troterの違いはある。そもそもbranchとcheckoutの違いがわかっていないんだよね。。。

2011-01-19 14:01:56
Takumi IINO @troter

bzrへの移行が楽かどうかわからなくなってきた。。

2011-01-19 15:47:49
Takumi IINO @troter

bzrのcheckoutはsvnと同じでコミットしたらコピー元のブランチに反映される。--localオプションをつけてコミットすればローカルコミットできる。通常のコミットをするとコピー元に反映される。unbindすると自動反映機能は失われ常にローカルコミットになる。

2011-01-19 15:56:33
Takumi IINO @troter

bzr unbindすると通常のブランチ。bzr bindするとチェックアウトブランチになると。lp:bzrをcheckoutしたツリーでコミットしても失敗したので、中央リポジトリへのアクセス権が無いとcheckoutしてもローカルコミットしかできない。ならbranchでいいね。

2011-01-19 15:58:11
Takumi IINO @troter

bzrでgitのように一つの作業ツリーを共用する場合にはローカルのsandboxという作業スペースの運用が必要らしい。大きなプロジェクト(10000ファイル以上とか)の場合はこれが推奨となっている。この運用をやるので張ればbzrを採用しないでほかの使った方がよいのでは。。。

2011-01-19 16:37:22
Takumi IINO @troter

bzr switchってsvn switchのように失敗して取り返しのつかない状態になりにくいならいいなぁ。

2011-01-19 17:09:55
Takumi IINO @troter

結局gitとかhgの方がよいのでは無いかと思い始めてきた

2011-01-19 17:10:23
Takumi IINO @troter

bzr init-repo --2a bzr-colo; cd bzr-colo; bzr branch lp:bzr-colo trunk; した

2011-01-19 17:32:37
Takumi IINO @troter

bzr-colo でリモートブランチの切り替えって幸せになれるのかなぁ。。

2011-01-19 17:36:49
Takumi IINO @troter

bzrで、ローカルに共有リポジトリを作ってcloneした場合、同じリモートの共有リポジトリ上にある別のブランチのcloneは初回のcloneと比べると速度が全然違って、ローカルにブランチを作るときと同じくらいの早さで終わる。

2011-01-19 17:50:28
Takumi IINO @troter

javaで開発するときに、ブランチ毎に成果物名を替える豪快な運用をしているので、初回のクローン以外はそれなりに高速に動くのなら良さそうだね。

2011-01-19 17:51:38
Takumi IINO @troter

bzr init-repo --2a bzr; cd bzr; bzr branch lp:bzr bzr.dev(履歴取ってくるから遅い); bzr branch bzr.dev bzr.troter(速い); bzr branch lp:bzr/2.3(速い); という印象

2011-01-19 17:56:09
Takumi IINO @troter

bzrのようにブランチを切り替えるときに作業コピーを切り替える運用は、Javaとかブランチ毎に成果物が違う場合にはそれなりに有用だと思う。LLの場合は逆でコンパイル必要無いからgitのように一つの作業コピーを使い回す形の方がよい。

2011-01-19 18:19:32
Takumi IINO @troter

bzrで共有リポジトリを使っている場合にブランチを作った消したって情報は共有リポジトリ内に残るんだろうか。ブランチ一覧とか簡単に取得できたりするのかなぁ。

2011-01-19 18:21:09
Takumi IINO @troter

あれだ、共有リポジトリに含まれる情報ってどうやって取り出すんだろう。ブランチの情報を取り出すコマンドとかはあるのに。

2011-01-19 18:27:03
Takumi IINO @troter

共有リポジトリで初回のbzr branch lp:bzr-scmproj trunk が1:36.55 でbzr branch lp:bzr-scmproj/0.5 が21.504 でbzr branch trunk trunk.troter が 1.604 一個できると速くなる

2011-01-19 19:07:12
Takumi IINO @troter

bzrってもしかして共有リポジトリ内のブランチ消しても復活できない?それがtrunkとか超重要な物であっても。

2011-01-22 23:56:51
Takumi IINO @troter

bzrで中央の共有リポジトリでのremove-branchを禁止するすべって有るんだろうか。

2011-01-23 00:16:11
Takumi IINO @troter

誰かこれ訳して https://answers.launchpad.net/bzr/+question/117689 つまり共有リポジトリのコミットが発生したブランチの情報は記録されていて消せないって事?ってことは復活できるって事?

2011-01-23 00:33:49
1 ・・ 8 次へ
まとめたひと
Takayuki Shimizukawa @shimizukawa

エキPy翻訳者の1人です。Python使いです。