1

状況は次のとおりです。

当社は、WAN経由で通信する 2 つの主要な生産サイトで動作します。サーバー上で約100Gb のディスク容量を使用するソフトウェアを社内で開発しています (多数のイメージを使用して顧客に展開されるアプリケーション データ)。パフォーマンスを向上させるために、ネットワーク管理者は DFS レプリケーション (6 時間ごと) を選択しました。これは、必要なファイルをローカルで (LAN 経由で) 利用できるため、ユーザー (社内の人) が必要なファイルをダウンロードするのに (場合によっては 2 ~ 3 時間) 待つ必要がないことを意味します。

問題は、DFS レプリケーションで使用されるアルゴリズムが "Last Writer Wins"であることです。そのため、同時変更 (開発中/保守中) の場合は、日付が最新のファイルが優先されます。このようなデータ損失は避けたいです。

私は開発プロセス全体のプロジェクトマネージャーです。私がやりたいことは、人々にバージョン管理システムを紹介して同時修正の問題に取り組むことです。私が Mercurial を使用する理由はいくつかありますが、その主な理由は、配布されていること、説明が簡単であること、個人的に使用できること、無料であること、そして (最も重要なこととして)マージ機能が優れていることです。ただし、ローカル (LAN) で使用する場合のバージョン管理システムの利点は、マージ方法がわからない複製プロセス (WAN) のために失われます。

いくつかの可能な解決策は次のとおりです。

  1. WAN 経由のバージョン管理のみを使用します (圧縮で速度が上がることを期待しています)

  2. DFS のみを使用し、変更を手動で追跡する (エラーが発生しやすい)

  3. 両方の方法で回避策を見つける

チームは少人数です(約10人)。あなたの助けと経験に感謝します。

4

1 に答える 1

1

私だったら、それぞれの場所に「中央」リポジトリがあり、各サイトの開発者が別のブランチで作業しているでしょう。それらの 1 つを「メイン」ブランチとして選択する必要があります (理想的には、最も多くの変更を行うブランチ)。ただし、実際にはそれほど重要ではありません。

各チームのリポジトリは、そのブランチで行われた変更を反映するために、他の場所のリポジトリと定期的に (たとえば、毎日、6 時間のスケジュールで、またはそれ以上の頻度で) 同期する必要があります。次に、それらはサイトのブランチにマージされます (理想的には、これは同じ更新の一部として自動的に行われますが、マージがどのように行われるかの正確な詳細は、選択した VCS とブランチ モデルによって異なる場合があります)。

覚えておいてください:「早めに同期し、頻繁に同期してください」

于 2010-11-10T00:09:04.997 に答える