最初, 戻る, 進む, 最後, 目次 に行く。


6.7 独占取得と無条件取得の選択

独占取得、無条件取得それぞれに一長一短があります。 ここでは、この問題を簡単に説明しますが、 残りの多くは個人的な見解の相違や、 各グループの作業スタイルの相違だと思います。 開発者チームを構成するには様々な方法があります。 CVS は特定の構成を強制せず、 各々を実現する機能を提供するだけです。

独占取得には、非常に非生産的な部分があります。 二人が同じファイルを編集する場合でも、編集部分が異なる場合には、 どちらか一方の編集を禁止する必要は全くありません。 また、ファイルを編集するためにロックした後、 ロック解除を忘れてしまうことが、普通に起こり得ます。

独占取得に特別な安心感を持つ人々は、 無条件取得を用いた場合の衝突の多さや、 それを解決する困難さを、よく訴えます。 しかし多くのグループの経験から言うと、 衝突は稀であり、解決も普通は比較的簡単なものです。

衝突を何度も経験すれば、 コード設計に正しく従わなかった場合にだけ、 重篤な衝突が発生することが理解できます。 このような衝突は、最初にチーム内で十分に話し合えば避けられることです。 どのようなソース管理方法を採るにしても、開発者が共同で作業する際には、 システム全体の設計方針に従わなければいけません。 きちんと従っていれば、簡単にマージできる重複ばかりになるでしょう。

無条件取得が、全く不適当な場合があります。 管理下にあるファイルの形式をマージする道具が無く (例えばワード・プロセッサによるファイルや、 CAD プログラムで編集されたファイル等)、 マージ可能なデータ書式を使用するようにプログラムを変更できない場合、 悪夢のような衝突解決をするよりは、 独占取得を用いて簡単に衝突を避けたほうが賢明でしょう。

前述 (「6.6 ファイル編集者の追跡機構」) の監視機構は、 独占取得と無条件取得の中間的なものと考えられます。 ファイルを編集する前に、 他の誰がファイルを編集中なのか調べることができます。 これは単純に双方の同時編集を禁止するのではなく、 現況を報告し、それが問題かどうかは自分で判断してもらいます。 これを適切に使用すれば、 独占取得と無条件取得の中でも最善の選択となるでしょう。


最初, 戻る, 進む, 最後, 目次 に行く。