2012-01-23 4 views
1

私たちはCVSからBazaarに移行しようとしています。Bazaar 2.x VCSではどのような問題が予想されますか?

git、hg、bzrの機能を比較したところ、その機能は似ています。 Bazaar 2.x benchmarksは、そのストレージサイズと速度がgitとhgの間にあることを示しています。

一方、ほとんどの人がgitやhgを選択しています(according to ohloh <オープンソースプロジェクトの0.5%だけがBazaarを使用しています)、私はBazaarについて疑いがあります。

Bazaarを使用する際に、どのような問題がありますか?

(これまでのところ、私は一つの問題持っていた:。。gitのためにTIGに似キーボードで操作GUIを見つけることを私は1つを発見していない)

+2

Ohlohの数字は何でも使用できません.Bazaarプロジェクトよりも多くの方法があります。私は問題は彼らがGitHub(とBitbucketも)をクロールしているが、Launchpadはクロールしていないと思う。 –

+0

Bazaar用のコンソールGUIはありませんが、Qt GUI(Bazaar ExplorerとQBzr)はショートカットを使用してキーボードから操作できます。 – bialix

答えて

2

「問題」によって理解している内容によって異なります。一部の人々は日常的にbzrを使って作業していますが、仕事を不可能にしたり難しくしたりするような問題に遭遇したことはありません。これはbzrに奇妙な特徴や癖がないことを意味するものではありません。あなたが何をしているのか分かっていれば、あなたはbzrで快適に仕事をすることができます。

一般的に、bzrはVCSのような仕事をするのがとても楽しいですが、それを効果的に使うには、あなたの制限をよく知っておくべきです。

bzrの作業を開始する場合は、ブランチ、リポジトリ、共有リポジトリと作業ツリーの違いを理解する必要があります。共有リポジトリがあなたの仕事にどのように役立つのか、そしてその中にブランチを保持する方法。プレーンブランチとチェックアウト/軽量チェックアウトの違いを理解する必要があります。 CVSスタイルでの作業を継続したい場合は、軽量のチェックアウトを使用することができます。これは、コンピュータ上のCVSチェックアウトとローカル作業スペースの直接のアナログです。

bzrを使用すると、セントラルサーバーの設定方法と、チームのすべてのメンバーに適切なアクセス権を設定する方法が少し不明な場合があります。もちろんそれは実行可能であり、公式文書にはいくつかの例があります。しかし、適切なACLは* -nix sshツールの大きな助けを必要とします。

いくつかのリビジョンを参照する最も簡単な方法は、リビジョン番号を使用することです。しかし、この番号は特定のブランチに固有であり、異なるブランチは異なるリビジョンを参照する同じ番号Nを持つかもしれないことを知るべきです。時にはbzrに存在する一意のリビジョン識別子を使用することを躊躇しますが、そのリビジョンIDはbzrと通信するためのデフォルトの方法ではなく、git/hgのように8文字程度に簡単に短縮できないためです。そのリビジョン番号は、メインラインコンセプトによって決まります。以下を参照してください。

2012年1月現在、次の制限が適用される場合があります。

bzrを使用すると、メインラインの歴史の概念を使わなくてはなりません。私。リビジョンの左側の親は特別なものであり、あなたのマージされたリビジョンがマージされた履歴を作成する間、あなたの履歴のメインラインを形成します。コンソールbzr logはデフォルトではメインラインの履歴を表示します。これは、マージされたリビジョンの完全な履歴を表示することが、本当に大きな歴史のために少し遅くなる可能性があるためです。

bzrを使用すると、ファイルコピー、つまり既存のファイルの履歴を継続する新しいファイルはサポートされなくなります。

bzrでは、CVSの「モジュール」をコア機能としてサポートしません。しかし、特別なプラグイン(bzr-externalsやscmprojを参照)を使って、大きなプロジェクト構成作業を行うことで、エミュレートすることができます。

リストは満杯ではありませんが、それは長年のbzrユーザーとして個人的に私に影響を与えます。

最後の1つの音符。 bzrの主な問題は次のとおりです。gitまたはhgを使用するほとんどの人は、毎回、「会社の全員がgit(またはhg)を使用すると、なぜバザールを選んだのですか?

真実は、GitHubでホストされているプロジェクトの数を数えれば、他のDVCS(git、hg、bzrなど)の中で2012年1月現在で明らかです。 GitHubは優れているだけでなく、GitHubも優れているからです。

(gitユーザーのための注意:私はgitを尊重しますが、bzrを自分の選択として使用してください。

+1

ウェブ上で指摘されている他の問題がいくつか見つかりましたが(例:http://zakalwe.fi/~shd/articles/why_not_bazaar.html)、これまでのバザーはうまく機能しています。小さなプラグイン "ページャ"は "| less"と入力しないようにすることができ、diffstatプラグインもうまくいきます。ここでは、SubversionにはGUIの方がはるかに優れていると言われていますが、これまでのところ大きな苦情はありません。 – marcin

+1

そのページにはいくつか基本的なことが間違っています。例えば、bazaarは初期の時代から無関係の履歴とのマージブランチをサポートして以来、 "bzr merge -r0 ..- 1 OTHERBRANCH"をサポートしています。 – jelmer

3

「私はバザーを使用して、非常に満足しているが、私はドン他のVCSに多くの経験があります。私の使用例は、小さなチームの開発者がいるASP.NET/C#/ T-SQL独自のWebアプリケーションです。

集中化されたVCSから分散型VCSへの移行の苦痛があると思いますが、集中化されたワークフローを使用してBazaarのものを軽減できます。

キーボード操作のGUIに関するご質問は、ほとんどがコマンドラインから(Powershellを使用して)Bazaarを使用する傾向があります。しかし、いくつかの操作(詳細なログの読み込み、差分、注釈)があり、GUIで使用する方がずっと簡単です。

qbzrプラグインを使用すると、コマンドラインから特定のタスク用のGUIを起動できます。ほとんどの場合、これは単にコマンドの前に 'q'を追加することを意味します。

たとえば、変更を加えた作業ツリー上でbzr qdiffを試してください。 Bazaar Explorerで利用できるツールのほとんどはqbzrツールです。

関連する問題