質問

SCMの新しいプログラムのセットアップを支援しており、現在VCSの決定を進めています。

この時点での主な候補は、SVN、ClearCase、SVN + DVCS、および単なるDVCSです。

現時点では、チームはSVNまたはSVN + DVCSに傾いています。 ClearCaseの費用と管理コストは避けたいが、提供されるワークフローとバージョン管理オプションが必要です。 DVCSを使用するオプションも提案しましたが、そのアイデアは検討中です。

DVCSについては、Mercurial、Bazaar、およびGitを検討しています。チームはSVNに満足していますが、必要な汎用性を提供するとは思わないため、SVNオプションの上でDVCSを検討しています。

このような設定を行うためのアドバイス(既存のツール、プロセスなど)はありますか?

懸念事項:

  • セットアップの容易さ
  • ワークフローのセットアップ(<!> lt;-<!> gt;コードレビュー-<!> gt; test-<!> gt; trunk、次にtrunk-<!> gt;統合テストブランチ-<! > gt;リリースブランチにバグ修正を加えたリリース)、監査(バグが発見されたとき、それが導入されたとき)
  • メトリックの生成
  • ClearCaseに慣れている開発者向けの合理的な学習曲線。
  • Windows開発
  • Issue trackerの統合(恐らくRedmineになりますが、石に設定されていません)
役に立ちましたか?

解決

ClearCaseの管理者として、複雑なマージワークフローがない限り、このツールを除外します。

ワークフロー に言及しているのは、ブランチを作成し、修正してから簡単にマージできることです。 、これはSVNを支持すべきではありません。

ClearCase(特に非UCM ClearCase)に慣れている場合の最大のトラップは、<!> quot; composition <!> quot;です。構成仕様の
DVCS(Mercurial、Bazaar、またはGitを選択した場合、 Windowsで非常にうまく機能します。 )、 しない同じ<!> quot;継承効果<!> quot;を取得できる-(異なる連続選択ルールで異なるバージョンを選択する場合-:その答えで述べたように:

  

純粋に中央のVCSでは、ワークスペース(ClearCaseでは<!> quot; view <!> quot;スナップショットまたは動的)を任意のルールで定義できます。
  DVCSでは実用的ではありません(<!> quot; Distributed <!> quot;のように):それを使用してブランチを作成する場合は、開始点とコンテンツを明確に定義し、簡単に複製する必要があります他のリポジトリへ。

ClearCase UCMを使用している場合、一貫したファイルセットを識別することを意味します。これは、たとえば- Gitサブモジュール
ClearCase UCMのようにモジュール(または<!> quot; set of files <!> quot;)間の依存関係を記録しないため、これらのDVCSの方が複雑です。

つまり、要約すると:

  • セットアップの容易さ:前述のDVCSはすべてセットアップが簡単です。考慮に入れる必要があるのは、ユーザーアクセスの観点からの管理です。
  • ワークフローの設定:DVCSは、集中型ワークフロー、官民ワークフローなど、あらゆる種類のワークフローをサポートします。...バグの発見に関しては、すべての種類のbisectプロセス
  • メトリックの生成:<!> quot;コード管理に関するメトリック<!> quot;を意味する場合、それらはすべて、変更内容に関する多くの情報を表示できる完全なログシステムをサポートしています。
    ただし、<!> quot;ツールに関するメトリック<!> quot; (プロセスの速度またはデータが取得するスペース)、言及されたDVCSツールはSVNよりもはるかに高速であると見なされます(ここに例として)。
  • ClearCaseに慣れている開発者にとって合理的な学習曲線:GUIは学習曲線を緩和する要因になる可能性がありますが、DVCSはClearCaseとは大きく異なります。これは<!> quot; コアコンセプト <!> quot;答えが示しています。
  • Windows開発:これらはすべてWindowsプラットフォームで正常に動作しますが、MercurialまたはBazaarに多少の利点(統合の向上)があります。
  • Issue trackerとの統合(おそらくRedmineになりますが、まだ設定されていません):Redmineは現在、それらのほとんどをサポートしています(最初に行ったSVNだけではありません)

他のヒント

Gitの問題は何ですか?現在、WindowsでGitを使用しています。それはうまく機能します。 Git拡張機能は、エクスプローラーの統合が必要な場合に非常に便利です。 / p>

私はクリアケースの経験はありませんが、次のことが役立つことを願っています。あなたの質問は、私が決定する前に考慮に入れるいくつかの情報を残しています。まず、ソースコードの量を教えてください。 SVNは、LinuxカーネルGitのような真に巨大なプロジェクトの中規模から大規模のプロジェクトに適していますが、パフォーマンスははるかに優れています。次に、どのIDEを使用していますか? Mercurial、Git、およびSVNにはすべて、Visual StudioとEclipseプラグインがあり、品質が非常に優れています。 RedmineのWikipediaの記事によると、あなたが見ているSCMシステムは統合されます。次のブログは、SCMシステムを生計のために書いている人を書いているので、あなたにとって役立つかもしれません。 http://www.ericsink.com/

Windowsで実行する必要があるという要件を削除できる場合は、 Aegis を参照することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top