フォルダがロックされており、ロックを解除できません


108

プロジェクトのコードを更新またはコミットしようとすると、フォルダーがロックされていると通知されます。「ロックを解除」しようとすると、この作業スペースにはロックを解除するものが何もないということです。

どういう意味ですか?プロジェクトを更新、コミット、またはクリーンアップできないのはなぜですか。


どのバージョンのsvnを使用していますか?
Chriseyre2000 2012

リポジトリ用のAssembla、Tourtise SVN 1.7
Iyad Al aqel 2012

では、各ディレクトリに.svnフォルダがありますか、それともルートだけですか?
Chriseyre2000

プロジェクトを別の作業コピーに再度チェックアウトしてみましたか?
バーナード

はい、別のフォルダでチェックインすると動作しますが、データベースが開いていません
Iyad Al aqel

回答:


161

Subversion作業ディレクトリフォルダーを右クリックし、コンテキストメニューからTortoiseSVN->クリーンアップを選択します。これは、それがあなたの作業ディレクトリを経由して再帰し、不完全なアクションをクリーンアップし、ローカルを削除しますロックを(これは、リポジトリ内のファイルのSubversionロックを使用して全員にロックを知らせるのとは異なります)。

それでも解決しない場合は、変更されたがまだコミットされていないファイルの名前を見つけて保存し、チェックアウトをやり直してください。


28
私にはこの問題があり、クリーンアップは機能しません(ローカルロックのためにクリーンアップに失敗しました)が、親フォルダー(これもバージョン管理下にありました)に移動し、そこでクリーンアップを実行すると問題が解決しました。
Malvineous

2
Break locksオプションをチェックすることにより、ローカルロックを解除できます。
aagjalpankaj 2017年

1
@Malvineousのコメントは貴重です。これを回答として投稿してください。
Lazy Ninja

16

ファイルが自分でロックされた場合(同じsvnアカウント)、次の手順を実行できます。

ロックされたファイルまたはフォルダーを右クリックし、TortoiseSVN-> Get lock ...を選択し、ダイアログの左下にある[[] Steal the locks]をチェックして、[OK]をクリックします。正常に完了した場合は問題ありません。もう一度ファイルを右クリックすると、 TortoiseSVN-> Release lock ...が表示され、クリックしてロックを解除できます。


12

svnコマンドラインを使用してローカルフォルダーのロックを解除するには、を使用しますsvn cleanup

前:

# svn commit -m "fixing #1234"

コミット

# svn st

前

# svn cleanup

後:

# svn st

後

# svn commit -m "fixing #1234"

後2


10

この問題がまだ残っている人へ(エラー:作業コピー '{DIR}'がロックされています。ています)に、私はあなたの解決策を持っています:

TortoiseSVNウィンドウの1つがクラッシュすると、作業コピーへのいくつかのハンドルがまだ残っているTSVNCache.exeが残り、表示されているロックの問題を引き起こしていることがわかりました(また、クリーンアップによる処理も妨げられています)。

これを解決するには:

どちらか

1a)プロセスエクスプローラーなどを使用して、TSVNCache.exeが所有するハンドルを削除します

1b)..またはさらに簡単に、タスクマネージャを使用してTSVNCache.exeを強制終了します

その後

2)右クリック-> TortoiseSVN->クリーンアップ。「作業コピー状態のクリーンアップ」のみを確認する必要があります。

そこから、更新/コミットしてください。SVNアップデートを実行し、アップデートが完了する前にTortoiseProc.exeプロセスをすばやく強制終了することで、ロック動作を再現できます。


8

私がこの問題に遭遇したのはこれが初めてでした。PCを再起動しようとしても、効果はありませんでした。これは私の問題を解決します:

私のための解決策:

  1. プロジェクト作業ディレクトリを右クリックします。
  2. 移動TortoiseSVNの
  3. ナビゲートするためにクリーンアップ
  4. すべてのデフォルトオプションをそのままにし、[ Block Locks]をオンにします
  5. OKをクリックします

これは私にとってはうまくいきます。変更をコミットすることができました。


1
[ロックを解除]チェックボックスをオンにすると、問題が解決します。
Banketeshvar Narayan

これは私が探していた完璧な答えです。おかげで
vamshiクリシュナクレラ

これが正解です。実用的で、簡単で、真っ直ぐです!
Oana-Elena Danescu

3

現在別のユーザーによってロックされているコマンドプロンプトから作業コピーのファイルをロック解除するには、--forceoptionを使用します。

$ svn unlock --force tree.jpg


ディレクトリのロックを解除したい場合はどうなりますか?
IgorGanapolsky

@IgorGanapolsky上記のコマンドでファイル名の代わりにディレクトリ名を与える
manav mn

@IgorGanapolskyエラーメッセージが表示されます。確認してみましょう
manav mn

ノードはファイルではありません
IgorGanapolsky

3

私はこの問題があり、それを解決するために以下の手順を実行しました:

  1. 子フォルダではなく親フォルダに移動します
  2. SVNクリーンアップを選択
  3. OKをクリックします。

子フォルダではなく親フォルダでこの手順を実行してください!

それは私のために働いた!


1

フォルダを1つ上のレベルに移動し、別のフォルダに移動していました。私の間違いは、親フォルダー内からの移動でした。

悪い例:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVNは、削除されたフォルダ情報で親ディレクトリを更新する必要があります。
ソースフォルダーと宛先フォルダーの共通ルートから実行するか、完全パスを使用する必要があります。

良い例え:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation

1

クライアント側からファイルのロックを解除できないという問題がありました。もっと簡単なサーバー側に行くことにしました。

SVNサーバー:

ロックを見つける

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

ロックを解除

 svnadmin rmlocks /root/of/repo “path/to/file” 

それでおしまい!


0

解決 :

  1. プロジェクト作業ディレクトリを右クリックします。
  2. TortoiseSVNに移動します。
  3. クリーンアップに移動します。
  4. 作業コピーの状態をクリーンアップする(チェックマークを付ける)を選択します
  5. OKをクリックします
  6. 手順1と2を繰り返し、ナビゲートしてロックを解除します。
  7. [OK]をクリックします。プロジェクトロックが開きます。

0

クリーンアップの実行中、David Mの回答に加えて、[ロックの解除]オプションをチェックします。これにより、ロックが確実に解放されます。次に、svn updateを実行します。これでうまくいきました。


0

ブロックされたドキュメントのロックを解除するには:1.右クリック->ロック2. [ロックを解除]チェックボックスをオンにします2.ロックを解除します


0

私はこの問題について多くのことを研究していますが、これを試すまで、問題を解決する方法はありません。

私のリポジトリフォルダーはWindows XP仮想マシンと共有されているため、VMからクリーンアップを実行してから、ホストからSVN UPDATEを実行します。

それは私のために働いた。

コスタリカからの挨拶。


0

フォルダー名を変更してフォルダーパスを小さくすることで、コンピューターでこの問題を解決できました。


-1

これは、フォルダを更新しようとしたときにTortoiseが破損してクラッシュした後に発生しました。亀を再インストールすることになりましたが、ゴーストロックがまだ残っていました。そこから、フォルダを削除して、新しいチェックアウトを実行する必要がありました。明らかに、その時点でコミットする新しい変更がなかったことは本当に幸運でした。とにかく、素晴らしいニュースではなく、誰かがより良い解決策を持っているなら、私はそれを自分で聞きたいです。「Break Lock」を使用しても、強制オプションでロックを解除しても何も変わりませんでした。


-1

クリーンアップ、すべてのチェックボックスをチェック=>これは私のために働く


ĐứcThắngNguyễnと同じです。「ロバスト」なクリーンアップを実行します。

-1

これらの操作後にこの問題が発生しました:

  1. フォルダをロックする
  2. ファイルを変更する
  3. ファイルを削除してフォルダを更新->新しいファイルをダウンロード
  4. ロックをコミットまたは解放しようとする

TortoiseSVN->ロックの取得->「ロックの解除」を確認してから、ロックをコミットまたは解放することで、ロックを再度強制することで問題を解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.