Subversion(TortoiseSVN)でファイルのロックをおすすめ(設定)する方法(手順)
Subversionで、画像ファイルなどあとからマージのできないファイルを
バージョン管理する必要が出てくることがあるでしょう。
必要に応じて、ファイル単位で
あらかじめロックをしてからでないと
編集できないようにファイルに属性をつけておくことができます。
(ご注意)
このページをご利用になった結果の影響については、
一切責任を負いませんので、あらかじめご了承願います。
	- TortoiseSVNを使うときに、あとからマージのできないファイルを編集するときは、
		その間は他の人が編集できないようにするために、ファイルをロックします。
		目的のファイルを選んで、
		コンテキストメニュー(右クリックメニュー)を使って、
		[TortoiseSVN] → [ロックを取得]を選択します。
		
	
	
 - ここで理由を入力するのは、他の人にわかるようにするためです。
		理由を入力して[OK]を押すと、ロックが完了します。
		
	
	
 - ここまではいいのですが、知らずに他の人がコミットしようとしたときに、
		エラーが出ます。当たり前ですよね。ロックされてしまってるんですから‥‥。
		
	
	
 - こんなときのために、あらかじめ
		コンテキストメニュー(右クリックメニュー)を使って、
		[TortoiseSVN] → [変更をチェック]を選択して‥‥。
		
	
	
 - 表示する画面で、[リポジトリをチェック]
		のボタンを押すと、誰かがファイルをロックしていれば
		理由もあわせてそれを表示してくれます。
		
	
	
 - でも、ついついこれを忘れてしまって編集してしまって、
		その結果、気がついたら誰かがロックしていたり‥‥。
		編集済みで、マージもできないのに更新せざるを得なかったり‥‥。
		あとから困りますよね。
	
	
 - こんなことにならないように、
		マージできないファイルは、必ずあらかじめロックをしてからでないと
		編集できないようにファイルに属性をつけておきましょう。
		コンテキストメニュー(右クリックメニュー)を使って、
		[TortoiseSVN] → [属性]を選択してください。
		
	
	
 - 属性画面を表示しますので、[新規]ボタンを押してください。
		
	
	
 - 「svn:needs-lock」を選択して、属性名のところは空白のままで
		[OK]ボタンを押してください。
		
	
	
 - 「svn:needs-lock」が追加されていることを確認して、
		[OK]ボタンを押してください。
		
	
	
 - 属性を追加した結果を、忘れずにコミットしてください。
		
	
	
 - Explorer上でのアイコンの色が灰色になります。
		ファイルの属性が、読み取り専用になっていることを確認してください。
		
	
	
 - ファイルが読み取り専用になっているので、
		このままでは編集できないことに気がつきやすくなるでしょう。
		これで、ロックを取得することを忘れにくくなると思います。
		
	
	
 - もちろん、他の人が先にロックしてしまっているのであれば、
		後の人がロックしようとしたときに、そのことがわかります。
		
	
 
	- 「ロックを開放」と「ロックを解除する」との違い
		作業コピーでロックしたファイルを右ボタンでクリックすると、
		「ロックを開放」と「ロックを解除する」と両方が出てきます。
		この「開放」と「解除」は何が違うのでしょう?
		どちらを選択しても、ロック解除の画面が出てきます。「ロックを解除する」は
		「svn unlock --force」 (訳注: 他の誰かのロックを強制的に解除する)ことになると思いますが、
		自分で自分の作業コピーをロックしたものに強制的な解除は必要ないのに、
		なぜこのメニューが表示されるのでしょうね?
		作者の説明によると、まず「ロックを解除する」は、コンテキストメニュー(右クリック)を
		表示するときにシフトボタンを押したときにだけ表示します(訳注: いつも表示されているような気がします)。
		これはSubversionコマンドでいうところの「unlock --force」をやります。
		あなたがあなたの作業コピーでロックを取得したにかかわらず、
		それでもあなたの知らないところで、もしあなたがアップデートしていなくても、
		他の誰かがあなたのロックを解除してくる(訳注: 横取りされる)可能性があります。
		そのときに、あなたは他の人のロックを解除しなければならなくなります
		(訳注: もしここであなたが諦めてしまうのであれば[更新]すればよいです)。
		これが、あなたが既にロックしたファイルに対しても「ロックを解除する」が表示される理由です。
		この情報の出典: http://svn.haxx.se/tsvnusers/archive-2008-10/0598.shtml
	
 
shacho@critical.ne.jp
Last modified: Thu Jan 29 22:00:00 JST 2009