program study story

プログラムの勉強 アウトプット

Subversion(svn) Rockコマンド

Rockコマンド

ロックとは

コミットを壊さないためにユーザー間で排他処理を行うことを指す

 

他の意味で使われることもある。

 作業コピーのロック

Subversionでは、もともと同じ作業コピーを扱う複数のSubvirsionクライアント間での破壊を防ぐためのもの。

通常、ロック状態になるのは、更新やコミットなどのコマンドがエラーで中断された場合です。この場合は、作業コピーに対してクリーンアップコマンドを実行すると解消できます。

 ファイルやフォルダーが他のプロセスから使用中のためにロック

Wordで文章を開いているとき、ファイルはロックされ、TortoiseSVNからアクセスできない。

 

ロックの取得

自分しかそのファイルをコミットできなくなる。ロックしたファイルは、どんな方法でもリポジトリ内の変更ができません。また、削除も名前の変更もできなくなる(ロック所有者を除く)

ロック取得の流れとしては、

1.TortoiseSVN→ロックの取得コマンドを選択

2.ダイアナログの表示、コメントを入力(コメント内にロック理由を記載)

3.ロックを行うフォルダ、ファイルを指定、OK

※他の誰かからロックを横取りする場合のみ、ロックを奪うにチェック。

ロックを行うときは慎重に!!

ロック解除

もう必要でなくなった場合、ロックの解除を忘れないように!

ロックされたファイルはコミットダイアログに表示され、デフォルトで選択されています。コミットを続けると、変更されていないとしても、選択したまmのファイルでロックを解除したくない場合、そのファイルのチェックを外せます。

特定のファイルのチェックでロックを解除したくない場合、

変更したファイルのロックを保持したければ、変更をコミットする前にロックを保持チェックボックスを有効にしておく必要がある。

コマンド解除の流れ

1.TortoiseSVN→ロックの解除コマンドを選択

2.ダイアナログの表示、OK

ロックしていないファイルを読み込み専用にする

svn:needs-lock プロパティを設定すること。

このプロパティを持つファイルは、ロックを取得していないと、チェックアウトや更新をしたときに常に読み込み専用になる。

TorotiseSVNは、忘れないように特別なオーバーレイアイコンで表示している。

オーバーレイアイコンとは

ショートカットのアイコンの左下に付いている矢印に代表される、通常のアイコンの上に重なって表示される小さいアイコンのこと。

プロパティの設定の流れ

Subversionのプロパティは、Windowsのプロパティダイアログから確認したり設定したりできる。

他にTortoiseSVNプロパティコンテキストメニュープロパティTortoiseSVN の状態リストでも確認できます。

 

ロックのフックスクリプト

リポジトリのhooksディレクトリに4つフックテンプレートが追加されています。それぞれロック取得の前後、ロック解除の前後に呼ばれます。

利便性:

ファイルがロックさせたときに、そのファイルを表すのにemailを送信をするような、post-lockやpost-unlockフックスクリプトをサーバーにインストールする。

スクリプトが適切な場所にあると、誰かがファイルをロック・ロック解放するとユーザーすべてに通知される。

フックを使用すると、ロックの強制解除・横取りを禁止したり、特定の管理者のみに制限したりすることもできます。

ロックの強制解除・横取りが発生したときに、ロックの所有者にメールを送るようにすることもできる。

TortoiseSVN→ヘルプ 参考