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

投稿日:2017-10-27

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

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

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

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

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

・・・?

どういうことさ???

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

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

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

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

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

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

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

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

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

ロックを奪ってみる

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

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

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

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

まとめ:needs lockは必要

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

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







-開発メモ
-

関連記事

[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。

  現在、WindowsとMacの2OS持ちの私ですが、2OSにはデメリットもありまして、それをカバーするために、VMWare Fusionを使用してWindowsとの橋渡しをしたりしてる訳 …

[Windows]タスクバーに表示される「最近使ったもの」が多すぎて消せないので、一括削除する方法

さて、Windows使いの人なら、地味に便利に使っている・・・かもしれない「最近使ったもの」という一覧。 確かに、同じフォルダを開きたい時とかは重宝します。 が、たまにウザいw 場合によっては消さなき …

[Oracle]破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。

破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。 破棄されたオブジェクトかどうかの判断(MSDK) MSDNでも破棄さ …

[ORACLE]oracleのログの場所(リスナーログ、アラートログ)

ぶっちゃけ、ログの場所なんて普段意識してないわwww 存在は知ってるものの、ぶっちゃけ、普段からそんな場所など意識していたことがない。 もちろん、何かあったときは、ファイル検索で見つけりゃいいや~と思 …

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

よくありますよね・・・ 予期せぬエラーってなんだよ(`・∀・´) 特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません (╹◡╹) (^ω^) :(;゙゚ …


カテゴリー