TortiseSVNなんだけど、自分が原因で「already locked」が出てしまった時の対処法。自分がロックを取ってて、ロックが取れずコミットが出来ない事態に遭遇した・・・

投稿日:2017-10-27

SVNを使っていると、たまにありますね。
ロックが既に誰かに取得されていて、コミットしようとした時に、唖然とするやつ。

ただ、今回は状況が違いました。

いつもなら、「ロック取ってるやつ誰だよ~」って感じなのですが、今回は、なんと自分

はい、自分がロック取ってる人でした。

なのに、自分がロックを取得できない

・・・?

どういうことさ???

ロックはどこでも取得可能

そうなんです。
どこでもロックは取得可能です。

よくよく思い返してみると、以前、会社のPCをSSDにこっそり変更した際に、ロックを取得したままのフォルダが残ってた可能性が・・・

で、そのまま気づかずSSDに交換して、チェックアウトし直したので、気づかずに作業をしてしまったんでしょうね。

ロックの強制解除を試してみる

ロックの強制解除を試してみました。

クリーンアップからやれるやつですね。

英語なので分かりにくいですが、赤丸の部分です。

でも、駄目でした。
ロックは解除されぬまま・・・

ロックを奪ってみる

ということで、最終手段。

ロックを奪います。
ロック取得する際に、「ロックを奪う」にチェックをつけてロックの取得を行います。

これって、本来なら、ロック持ってる人に一旦コミットしてもらうなり、ロックを解除してもらうなりする必要があるんですが、今回は自分なので問答無用w

無事、ロックが取得できたので、そのままファイルをコミットして完了。

まとめ:needs lockは必要

これはもう、プロジェクトごとの方針に寄っちゃうんですが、編集時にロック取得を必須化させるプロパティがあるので、それを有効にしておくと誰も不幸になりません。

ロック取得せずに編集出来てしまうと、コミット時に誰かがロック持ってると、一旦最新を取得し直してから、自分の差分を追加し直す必要があるので、二度手間三度手間・・・
さらに、マージする時のミスとかモレの可能性を考慮すると、最初からロックを取得しておいたほうが、幸せです。







-開発メモ
-

関連記事

続) 何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

この土日は休日出勤でした・・・ そして、昨日・・・新しい現象が発生しました。 日本の中心付近で仕様変更と闘うSE日記日本の中心付近で仕様変更と闘うSE日記http://ht-jp.net/blog/p …

Excelのシートが表示されなくなった時の対処法

Excelのシートが表示されなくなった! なんか、少しだけいつものExcelの画面と違いませんか? 人によっては、見慣れた画面かもしれませんが、左下にあるべきものがありません・・・ ちなみに、シートを …

SyntaxHighlighter EvolvedっていうWordPressのプラグインを使ったら、楽にソースコードを表示できた。

SyntaxHighlighter Evolvedっていうプラグインを使って、コードの表示を楽にしてみた。 C#で正規表現が使えたらな〜って時は以外と多いので、ちょっと正規表現を頑張って使ってみた。 …

[C#]NumericUpDownコントロールで、上下キーでの値変更を禁止する

結論から言うと、「InterceptArrowKeys」プロパティをfalseにしてやることで解決。 NumericUpDownコントロールを使うメリット 画面構築をしている際、ユーザーの任意入力項目 …

[ORACLE]ORA-24344:正常に終了しましたが、コンパイル・エラーがあります。

全然、正常に終われてねぇんじゃん?? って思った。 ビューの作成時に発生。 ネットで検索するも、明確な回答は見当たらず・・・ ただ、エラーには違いないので、ビューが正しく作成されていないことになる。 …


カテゴリー