問題:
数百万の SLoC にまたがる巨大なコード ベースは、大群の二流/三流プログラマー (彼らのほとんどはあまり気にしない) によって維持 (サポート/積極的な拡張など) されています。何十年も前に、CVS を基盤として使用するラッパーを導入した賢い人はほとんどいませんでした。このシステムは現在の世代の開発者によって使用されています (開発者の 90% は CVS を直接使用したことがないか、別のコマンド ライン ソース管理システムについて聞いたり使用したりしたことがありません)。 .
効果:
CVS の使用と、複数のモジュールにまたがって作業する複数のチーム。必然的に => CVS ブランチがトランクにマージされます。これは、最も宗教的かつ儀式的に可能な方法で実践される活動です。[=>力ずく。数週間前に計画され、2/4日間12人の男が参加しました。数百 (場合によっては数千) のソースが手動で処理されます。 おもしろいことに、関係者は修正の元の所有者ではなく、差分をチェックするだけです。本当に、冗談ではありません!] これにより、ライブラリ/モジュール/機能の健全性に多くの矛盾が生じ、これらのマージ中の回帰による欠陥を修正するために多大な労力が費やされます。
そして今、質問:
いくつかの前向きな変化をもたらし、プログラマー/マネージャー、および環境内の他のすべての人の生活を改善できる代替ソース管理システムは何ですか?
周りの誰もが代替品を見つけることを考えずにクールエイドを飲んだ(そして「これがどのように物事が行われるか」を歌っている)ように見えるので、誰かがそれをする時が来ました. ただし、システムを使用する人々の種類を考慮すると、次の点に留意する必要があります。
- 使いやすく、理解しやすく、Joe Coder でさえ大騒ぎせずに使用できるはずです。(とにかく、これは必要ありません。ラッパーは実際のボンネットの下のものを人々から隠してしまうからです)
- いつでも複数 (約 30) のアクティブなブランチを持つ巨大なコードベース (複数の言語にわたるソースで構成される)。
- さまざまなブランチへの簡単なマージ。(変更の量が非常に大きいことを考慮すると)
- 利用可能であれば、システムの商用サポートは素晴らしいでしょう。
- 開発は UNIX サーバー上で行われます (少なくとも HP-UX/Solaris 上で実行する必要があります)。
- 適切にスケーリングする必要があります (数千のユーザー/数十万のソース)
- 良いドキュメンテーション
- 変更/コピーを比較/表示するためのシンプルで明快なブラウザベースのインターフェース。
- リポジトリにはバイナリ ファイルはありませんので、気にする必要はありません。
- 現在のリポジトリの内容を新しいシステムにインポートするためのプロビジョニング。
だから、提案してください。希望 && 方法はありますか? :) gitのようなものは完全に拒否されると確信しています(彼らは「gitは賢い人のためだけのものである」と信じています)
編集: 私も Mercurial と BitKeeper を念頭に置いており、チェーンの上流の人々に言及しました。最善の結果を期待!ありがとう!:)