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

投稿日:2017-10-27

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

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

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

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

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

・・・?

どういうことさ???

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

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

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

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

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

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

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

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

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

ロックを奪ってみる

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

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

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

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

まとめ:needs lockは必要

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

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







-開発メモ
-

関連記事

デグレをぶちかましたので、開発作業を1週間以上止められた話。

自分が改修を担当した画面でデグレが発覚してしまい、開発作業を1週間以上止められました。 止められたのは自分だけですが、マジです。 そんだけ、開発現場において、デグレってのは駄目な話です。 一回、こうい …

Windows 7な会社のPCからOneDriveをアンインストールしたので、その方法を紹介。

参考URL 「OneDrive」を完全にアンインストールする方法 http://www.lifehacker.jp/2015/09/150904_windows_10onedrive.html 参考先 …

[C#]comboBoxでマウスホイールによる値の変更を禁止する

comboBoxってあるじゃないですか。 アレのお話。 勝手に値が変わってしまうコントロールがある いや、勝手にじゃなく、操作の結果なんだけども・・・ という、こちらの理論は当然ながらお客さんには通じ …

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

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

no image

[Xcode]C#とは違うエラーキャッチ方法

先日から、Swiftの勉強をしているわけですが、未だに仕事でメインで使っているC#との違いで戸惑うことがちらほらと。 repeat文なんて、VBやC#じゃ見ないよな。forやwhile文が対応してるけ …


カテゴリー