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

投稿日:2017-10-27

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

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

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

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

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

・・・?

どういうことさ???

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

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

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

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

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

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

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

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

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

ロックを奪ってみる

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

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

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

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

まとめ:needs lockは必要

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

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







-開発メモ
-

関連記事

先日のデグレに引き続き、作業を一個抜かしたら、超絶怒られて始末書書かされた件

タイトルの通りで、始末書書かされました。 社内での信用0です。 先日のデグレの時もでしたが、今日も思いっきり怒られましたよ。 電話越しの無言は怖い。 日本の中心付近で仕様変更と闘うSE日記 1 Use …

[C#]文字を繰り返したものを取得したい。

いちいちfor文とかで繰り返すのも効率が悪いなと思ってたので、処理を関数化・・・ ただ、共通関数として登録しないので、別のところで使いたい場合は、同じ関数が複数登録されちゃうことに・・・ 更には、思い …

「再起動」それは、魔法の言葉:iOSでオンスクリーンキーボードが表示されない問題を解決する

客先へ送付予定の時に発生しました。 iPadを設定していた時に、キーボードが出てこなあい・・・ で、公式ページで下記の内容を発見。   Apple : iOS でワイヤレスキーボードを使った …

[VMWare Fusion]VMWare Fusion 12を導入した話

  日本の中心付近で仕様変更と闘うSE日記 1 Pocket[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。http://ht-jp.net/b …

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

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


カテゴリー