web-dev-qa-db-ja.com

DVCSからCVCSに移行している企業はありますか?

企業がDVCSからCVCSに移行した実際のビジネスケースはありますか(元々CVCSにあったかどうかに関係なく)?.

心を閉ざし、パラダイムシフトを完全に拒否する以外に(CVCSから来る企業の特定のケースの場合)、これが発生する原因は考えられません。

経験的証拠を持っている人のためのダブルチョコレートクッキー。

3
dukeofgaming

私はそうします 水銀コンサルティング そして私の経験では、大企業はDVCSの長所と短所を調査するために多くの時間を前もって費やしています。したがって、彼らが最終的にジャンプしたとき、彼らはすでに1つまたは2つのパイロットプロジェクトにDVCSを使用しているので、グループの他のメンバーにも機能することを確信しています。

ただし、Mercurialが本番環境でテストされた後、放棄された1つの例を知っています。それはハードウェア設計を行うクライアントであり、圧縮やマージがうまくいかない膨大な数のバイナリファイルが関係しています。 10,000以上のファイルについて話していますが、それぞれのサイズはおそらく10MBです。したがって、checkoutだけでも100GBを超えるサイズになります。

クライアントは、私たちに連絡する前に、これらのファイルのストレージを外部化するMercurialの拡張機能の作成に多大な労力を費やしています。アイデアは、hg cloneを実行するときではなく、チェックアウトを実行するときにオンデマンドでファイルがダウンロードされるというものでした。つまり、各ファイルの履歴は中央ストレージサーバーに保存され、クライアントは本当に必要なものだけをダウンロードしていました。 Subversionと非常によく似ていますが、他のすべてのプロジェクトファイルにDVCSの利点があります。 (Mercurialには、このアイデアを実装する largefiles拡張子 が付属しています。)

しかし、彼らの努力にもかかわらず、彼らは拡張機能を効率的に実行することができず、ハードウェアチームは最終的にMercurialから離れ、Perforceなどのより伝統的なシステムの評価を開始しました。私はすべての詳細を知りません、そして私たちはそれを機能させることができたはずだと感じています、特に現在標準の ラージファイル拡張子 を使用することによって。確かに、この拡張機能は現在のように10,000ファイルには完全ではありません(ファイルごとのオーバーヘッドが大きすぎます)が、クエリをバッチ処理して処理を合理化することで、一度に1つの問題を解決できます。

だから私のアドバイスは:

  • DVCSを展開する前に、必ず広範なテストを行ってください。 DVCSがかっこいいと思う開発者の小さなグループを見つけて、プロジェクトを1つか2つ実行させます。

  • 何がうまく機能し、何がうまく機能しないかを知っている人に連絡してください。上記では、プロセスのかなり遅い段階でのみ呼び出され、その時点でクライアントは最適ではない選択を約束していました。 Mercurialには サポートオプションの数 があり、それらを使用することをお勧めします。

12
Martin Geisler

この2つは排他的な選択肢ではありません。

CVCSツールは、強力な認証機能を提供します。
独自の認証メカニズムが組み込まれているものもあります( svnserveを使用したSVNRTCとそのユーザーレジストリPerforceとそのP4Admin ):ツール専用の独自の内部ユーザーデータベースを持つことができます。

DVCSツールはそうではありません。 「 最終的に企業ソフトウェアのDVCSに移行できますか? "」を参照してください。
組み込みの認証および承認メカニズムはありません。

DVCS:認証なし:CVCSは外部認証ソース(LDAPなど)とインターフェイスできますが、DVCSは外部認証ソースとインターフェイスする以外に選択肢はありません、externalプロセスのみを使用(opensshhttpd、...内部の軽量サーバーを所有しているため、SVN svnserve)。

DVCS:認証なし:リポジトリパス(ファイル、ssh、またはhttp経由)にアクセスできる場合は、それに対するすべての特権(任意のブランチでの読み取り、書き込み、削除、...)。
よりきめ細かいアクセス制御が必要な場合は、ツールにレイヤーを追加する必要があります(Mercurialの場合はRhodeCode、Gitの場合はGitolite)。

これらの制約は、DVCSが通常大企業内のCVCSとは(= /// =)異なるユースケースを持っていることを意味します。
たとえば、両方を導入し、DVCSを使用して、サードパーティ企業が制限された共有コードベースで会社と共同作業できるようにしました。
DVCSを検討すると、allリポジトリとそのcomplete履歴のクローンを作成できます。つまり、考え出す必要がありました。インポート/エクスポートメカニズムにより、CVCS(ラージ)リポジトリの特定の部分のみをDVCSでエクスポートおよび公開できるため、サードパーティは作業に必要なものだけにアクセスできます。

4
VonC