連載
» 2009年08月24日 00時00分 公開

エンジニアがお薦めする 現場で使えるツール10選(4):Subversionで簡単・確実にファイルを構成管理 (4/5)

[東秀和,データプロセス]

【その2】チームで作成している資料、知らぬ間に上書きされている!

 仕事はチームですることが多いと思いますが、バージョン管理を行っていなければどうなるでしょうか。

 例えば、ファイルサーバや共有PC上でソースファイルを共有していた場合、開発作業が終われば、最新版の成果物をフォルダにコピーすることが多いと思います。このケースでは、1つの成果物に対して複数の開発者が同時に変更を掛けた時点でアウトです。最悪の場合、ファイルの更新は「後勝ち」となり、先に実施した作業が消えてしまう危険性があります。

 単純なバージョン管理を行っているだけでも、履歴が保存されるため、上書きの問題の多くを防ぐことができます。

図14 後の人が上書きしちゃう 図14 後の人が上書きしちゃう

1.エクスプローラで【C:\Documents and Settings\hide\デスクトップ\構成管理】フォルダ内の【Subversionで簡単構成管理.txt】ファイルを右クリック

2.[TortoiseSVN]---[ロックを取得]メニュー

図15-1 ロックして触れなくする 図15-1 ロックして触れなくする(※クリックで拡大)
図15-2 ロックするときにコメントを入れる 図15-2 ロックするときにコメントを入れる(※クリックで拡大)
図15-3 ロックしたファイルを解除する 図15-3 ロックしたファイルを解除する(※クリックで拡大)

●同時に触りそうなファイルをロックするデメリット

 構成管理ソフトの多くは、ファイルをロックする機能があります。ファイルをロックすると自分以外の人は更新することができなくなります。これには多くのメリットもありますが、デメリットもあります。

(デメリット1)ロックは管理上の問題を起こす可能性がある

 担当者Aは時々、ファイルをロックしたままそれを忘れてしまうことがあります。一方担当者Bはファイルが編集できるようになるのをずっと待っていて、その間何もできません。

 担当者Aが休暇を取ってしまうと、担当者Bは管理者に担当者Aのロックを解除してもらわなければなりません。不要な遅れと時間の浪費が発生します。

(デメリット2)ロックは不要な直列化を起こす可能性がある

 担当者Aがテキストファイルの先頭を編集していて、担当者Bが同じファイルの最後を編集したいとしたらどうでしょう? 変更が重なることはありませんので、ファイルを同時編集して問題ありません。

 互いを適切にマージ(後述)できるとすれば、なんの障害も発生しないでしょう。こういった状況ではロックは必要ありません。

(デメリット3)ロックは誤った安心感を与える可能性がある

 担当者AはファイルAをロックして編集し、担当者BはファイルBをロックして編集するとします。

 もしファイルAとファイルBがお互いに依存し合っている場合、変更すると意味的に矛盾が発生します。突然ファイルAとファイルBが一緒に動作しなくなってしまいます。ロックするシステムは、この問題に対しては無力です。ある意味、誤った安心感を与えているといえるでしょう。担当者Aも担当者Bもファイルをロックしたことで安全な状態に入ったと感じ、自分の作業は保護されていると錯覚してしまうのです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。