web-dev-qa-db-ja.com

ロックされた作業コピー

Subversionをバージョン管理として使用してWebを開発していますが、「working directory locked」エラーメッセージが表示されました

ストーリーは次のとおりです。

私は持っています

PC-A:

  • Windows XP Pro
  • VisualSVN 2.5.2
  • カメSVN 1.7.3

PC-B:

  • Windows XPホーム
  • カメSVN 1.7.3

VisualSVNを使用してPC-Aにリポジトリを作成しました。

PC-Bから、http:\\ PC-A:81\svn\test\trunkをD:\ xampp\htdocs\test-lalalaにチェックアウトします。

PC-Aから、http:\\ PC-A:81\svn\test\trunkをD:\ xampp\htdocs\test-lalalaにチェックアウトします。

Http:\\ PC-A:81\svn\test\trunk、フォルダD:\ xampp\htdocs\test-lalalaon PC-にコミットするときにmy-post-commit.batファイルを実行するポストコミットフックを作成します。が更新されるため、他の人が結果を見ることができます。

"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\xampp\htdocs\test-lalala" --username myusername --password mypassword --config-dir "C:\Program Files\VisualSVN Server\conf" 

PC-Bで、index.phpファイルを作成し、コミットします。コミットすると、このエラーメッセージが表示されます

error message

PC-Aでは、D:\ xampp\htdocs\test-lalala TortoiseSVN> CleanUpを右クリックして、「作業コピーのステータスをクリーンアップ」および「外部を含める」(デフォルトでチェックされている)をチェックします。ファイルを追加してコミットしようとしても、同じエラーメッセージが表示されます。

.svnフォルダーでロックファイルを探しますが、ロックファイルがありません。また、PC-A D:\ xampp\htdocs\test-lalalaの作業コピーを削除してもう一度チェックアウトしようとしますが、コミットしても同じエラーメッセージが表示されます。

このエラーメッセージを解決するには?コミットすると、フォルダーは自動的に更新されますか?

68
Permana

最終的に、更新コマンドではなくエクスポートコマンドを使用しました。これはコミット後のフックです

「C:\ Program Files\VisualSVN Server\bin\svn.exe」エクスポート「D:\ xampp\htdocs\test-lalala」--quiet --non-interactive --force --username myusername --password mypassword

1
Permana

Working copy lockedエラーが発生するたびに、「クリーンアップ」を実行します。その後、すべてが正常に戻ります。

コマンドラインでsvn cleanupを実行すると、ロックファイルも削除されます。

注:1レベル上のディレクトリでこの操作を実行すると、ほとんどの場合に解決するはずです。

188
tatianes

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

TortoiseSVNウィンドウの1つがクラッシュすると、TSVNCache.exeに作業コピーへのハンドルがまだいくつか残っており、表示されているロックの問題の原因になっていることがわかりました(また、クリーンアップがジョブを実行できなくなります)。

これを解決するには:

どちらか

1a)Process Explorerなどを使用して、TSVNCache.exeが所有するハンドルを削除します

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

それから

2)右クリック-> TortoiseSVN->クリーンアップ。 「作業コピーのステータスをクリーンアップする」だけをチェックする必要があります。

そこから、幸せな更新/コミット。 SVN更新を実行し、更新が終了する前にTortoiseProc.exeプロセスをすばやく終了することにより、ロックの動作を再現できます。

36

最上位ディレクトリレベルで「クリーンアップ」を実行します。

21
Prince

WC_LOCKテーブルのSQLite ".svn\wc.db"ファイルロックレコードのWC_Lockレコードを削除することで解決しました。

SQLiteエディターで「wc.db」ファイルを開いて実行するだけです

wC_LOCKから削除

解決策は、私が今見つけることができない別のリンクで与えられました。しかし、実際にはかなりの修正です。すべてのディレクトリを削除することを心配せずに

11
sgupta

非表示の.svnフォルダーを削除して修正し、新しいチェックアウト.svnに置き換えたところ、機能しました。おそらく、この隠しフォルダーはめちゃくちゃになったでしょう!

7
hackintosh152

私はあなたのためにうまく働いていると確信しています

最上位のSVNフォルダーに移動します。

(svnファイルがある)フォルダーを右クリックします-> TortoiseSVN-> CleanUp

これで確実に問題が解決します。

5
Sadikhasan

あなたがWindowsの男で、「Tortoise SVN」ユーザーを使用している場合。

ファイルを選択します。右クリック。オプション '亀SVN'->ロックを取得します。オプション「ロックを盗む」を使用してください。

3
Shirish

1ステップで修正できます。

ステップ1:ターミナルを開いてプロジェクトに移動し、「svn cleanup」コマンドを実行してから「svn update」コマンドを実行します

2
Hardik Savani

作業コピーエラーが発生したら、svn cleanupを実行するだけで、不要なファイルとフォルダーがすべて削除されます。それでもエラーが発生する場合は、1つのことを行います。

ファイルを他のドライブにコピーし、作業コピーのフォルダーまたはファイルを削除してから更新を実行すると、新しいファイルが取得され、更新後のコピーで置き換えて同じものをコミットします。

1
LivCool

カメのsvn->クリーンアップ

SVNのすべて

1
prashant thakre

エラー「working copy locked」、手順に従うだけです:

  1. 更新時にエラーが発生しているディレクトリ
  2. 親ディレクトリに移動します
  3. 親ディレクトリで「.svn」隠しディレクトリに移動します
  4. 「lock」という名前のファイルを削除します
  5. クリーンアップして完了

エラーなしで適切にsvnを更新できます

1
Ram Balwad

BitLockerディスク暗号化は実行されていますか?私の場合、暗号化のためにディスクのドライブ全体がロックされ、SVNはこのエラーで失敗しました。

0
KrishPrabakar

あなたが説明したのと同じ問題を経験しました。 Tortoise 1.7.3のバグのようです。 1.7.2に戻り、クリーンアップと更新を実行しました。今、SVN /カメは再び正常に動作しています

0
Alan Fletcher

PHPStormまたはIntellijの場合:

VCS -> Cleanup Project
0
Frank Roth