94

作業コピーに変更を加えるたびに、Tortoise SVNを使用して、サーバー内のリポジトリに変更を更新してコミットしています。しかし、数日から変更をコミットできなくなり、コミットしようとすると次のエラーが発生します。

Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.

フォルダを右クリックして[ TortoiseSVN]> [ロックを解除]を選択して、フォルダのロックを解除しようとしました。

ロックを解除するものは何もありません。この作業コピーにロックされているファイルはありません

何が問題なのでしょう?

4

10 に答える 10

235

問題ありません...これを試してください:

  • トップレベルのSVNフォルダーに移動します。
  • (svnファイルがある)フォルダーを右クリック> TortoiseSVN> CleanUp

これは確かにあなたの問題を解決します。私はこれをたくさんしました...:)

ノート。[クリーンアップ]ダイアログで[ロックを解除]オプションが選択されていることを確認します。

于 2012-08-01T18:01:24.390 に答える
15

受け入れられた答えは私にはうまくいきませんでした。この問題を修正するには、ロックされたファイルを右クリックして、を選択する必要がありましたrepo-browser。これにより、SVNサーバー上にあるファイルを含むポップアップが開きました。次に、ロックされたファイルを右クリックして、を選択しましbreak lockた。

リポジトリブラウザを閉じたとき、エクスプローラーに戻って、ようやくコミットできました!

于 2013-06-11T10:23:12.863 に答える
12
  1. フォルダを右クリックします。
  2. TortoiseSVN->変更を確認します。
  3. [リポジトリの確認]ボタンをクリックします。
  4. 返されたすべてのファイルのロックを解除します。
于 2013-08-29T10:50:23.643 に答える
3

私もこの問題に遭遇しました。一部の人にとっては、ロックされている場合はチームに確認してください。チームの誰かが作業しているためにロックされている可能性があります(これにより、開発者は他の人が入って同じコンテンツで作業しようとせずに作業を行うことができます)。その場合、ロックを解除してから更新すると、ロックした開発者のデータが失われる可能性があります。

そのことを念頭に置いて、「クリーンアップ」オプションによって作業コピーが変更されたり、Subversionのレポレベルから情報が削除されたりする可能性があることが懸念されました。そうではありません。答えは私のために働いた。更新の途中で[キャンセル]をクリックすると、鉱山がロックされました。私は結局私たちの枝のいくつかを引っ張ってしまいました、そして私はものを必要としなかったので私はキャンセルを押しました。作業コピーがロックされました。コマンド「releaselock」を使用したときに「ロックされた」と表示されたドキュメントが見つかりませんでした。これは私を困惑させ、いくつかのクイックリーディング(そしてこのスレッド)で「クリーンアップ」コマンドを試みました。クリーンアップ後、問題は解決し、何もロックされなくなりました。

ソース:http ://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

于 2014-04-09T17:14:22.890 に答える
2

SVNには「ロック」の複数の意味があり、「ロックを解除する」またはロックを保持しているチームメイトについて話しているこれらの回答の一部は、元の質問に関連する意味を使用していません。この質問は「作業コピーロック」を扱っています(つまり、それらはコンピュータ上の作業コピーに対して完全にローカルであり、ファイルのロック/チェックアウトを保持しているあなたやチームメートとは何の関係もありません)。MicroEyesが受け入れた回答は正しい使用法を示しており、これが発生した場合の最良の選択肢です。

クリーンアップが機能しない場合は、プロジェクトの新しい作業コピーをチェックアウトする必要があります。変更されたコミットされていないファイルがある場合は、変更を失わないように、それらを新しい作業コピーにコピーする必要があります。

「ロック」の3つの使用法の説明については、Tortoise SVNドキュメントのこのページを参照してください:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

抜粋(強調を追加):

「ロック」の3つの意味</p>

このセクション、およびこの本のほとんどすべての場所で、「ロック」および「ロック」という言葉は、コミットの衝突を回避するためのユーザー間の相互排除のメカニズムを説明しています。残念ながら、Subversion、つまりこの本には、他に2種類の「ロック」があり、それを考慮する必要がある場合があります。

2つ目は、同じ作業コピーで動作する複数のSubversionクライアント間の衝突を防ぐためにSubversionによって内部的に使用される作業コピーロックです。通常、エラーが原因でupdate / commit / ...などのコマンドが中断されると、これらのロックが発生します。これらのロックは、「クリーンアップ」のセクションで説明されているように、作業コピーに対してクリーンアップコマンドを実行することで削除できます。

..。

于 2015-02-03T02:44:39.677 に答える
2

どのファイルがロックされているのかわからなかったので、この問題から抜け出すために私がしたことは次のとおりです。

  1. 最高レベルのフォルダに移動しました
  2. クリーンアップをクリックし、クリーンアップ方法からチェックマークを付けます->ロックを解除します

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

于 2017-05-02T15:37:15.147 に答える
1

下位のサブディレクトリでの「クリーンアップ」など、さまざまなことを試しました。最後に、最上位のフォルダーを更新してみました。何もない。次に、「トップレベルのクリーンアップ」のヒントを読みました。やってみました。クリーンアップ部分は成功しましたが、ロックは残っていました。私の解決策は、トップレベルに戻り、クリーンアップしてから、ドリルダウンできる各赤い(!)フォルダーをクリーンアップすることでした。結局のところ、「クリーンアップ」された後、更新は完全に機能しました。チームの誰かが物事を正当にロックしている可能性があることを除いて、「ブレークロック」のヒントも良さそうです。

于 2014-06-10T20:40:43.560 に答える
0

私はなんとかsvnのファイルから自分自身をロックアウトしました-方法はわかりません-しかし、ロックを取得しようとすると(Tortoiseはファイルの「GetLock」オプションを表示していました)、すでにロック。ファイルを削除してディレクトリ変更をコミットしようとしました-同じ結果です。CleanUp(オーバーレイの更新を含む)を試しましたが、失敗しました。

解決策は、Tortoiseリポジトリブラウザに移動し、ファイルを見つけて、ブレークロック機能を使用することでした。

于 2014-04-02T12:54:39.307 に答える
0

これ(https://stackoverflow.com/a/11764922/3045875)が役に立たない場合:別のSVNツールが干渉していないかどうかを確認し、ツールを閉じます。TortoiseSVNを使用してマージするのに数時間苦労し、そのようなロックエラーが数十回発生しました。最終的に、Matlabs SVN統合が干渉していることがわかり、閉じた後、すべてうまくいきました。

于 2020-06-11T13:20:50.803 に答える
-1

Windowsソリューション:

https://sourceforge.net/projects/win32svn/

1.ダウンロードして、システムパスに追加します。

2.作業ディレクトリに移動し、cmdで「svnclean」と「svnupdate」を実行します。

于 2017-07-17T09:35:15.883 に答える