Bob と John のケースに関しては、svn のような協調システムは、ロック システムと同様にこのシナリオを防止しません。svn が最新版であることを満足させる FooBar.java を「更新」し、そのファイルをローカルで削除して、ベースライン バージョンを考慮せずに作成した自分の個人用コピーで上書きし、それをチェックインして、喜んで破棄することができます。相手の変化。ロックするかどうかに関係なく、これを防ぐシステムはないため、議論に持ち込む意味さえありません。
本当の問題は、あなたのバランスが何であるかを決定することです
マージミスの可能性と、ファイルをロックする人による不都合の可能性
ロックシステムまたは非ロックシステムのいずれかが「優れている」という考えはナンセンスです。
私は VSS をデフォルトのフル ロック モードで 6 人の開発者と一緒に使用しましたが、夢のように機能しました。時折、誰かがロックを解放するのを忘れて、彼らを追跡するか、手動でロックを解除し、戻ってきたときに手動でマージする必要がありましたが、これは非常に最小限でした. svn が自動マージを何度も台無しにするのを見たので、あまり信用できません。2 人のユーザーが同じファイルを自動的にマージできない方法で変更した場合、常に「競合」のフラグが立てられるわけではありません。
逆に、人々が VSS のロックに我慢できず、自分のコピーを編集し、他の人々のコードの上にずさんにチェックインするのを見てきました。
私が言いたいのは、これは賢明な議論ではないということです。どちらのシステムが成功するかは、どちらのシステムが優れているかではなく、競合点が発生したときにそれをどのように管理するかにかかっています。