110

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

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

4

18 に答える 18

163

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

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

于 2012-04-12T21:11:17.960 に答える
17

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

ロックされたファイルまたはフォルダを右クリックし、TortoiseSVN->Get lock...を選択し、ダイアログの左下隅にある[] Steal the locksにチェックを入れて、[OK] をクリックします。無事に完了すればOKです。もう一度ファイルを右クリックすると、 TortoiseSVN->Release lock...が表示され、クリックしてロックを解除します。

于 2012-09-11T09:32:32.670 に答える
12

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

前:

# svn commit -m "fixing #1234"

専念

# svn st

前

# svn cleanup

後:

# svn st

後

# svn commit -m "fixing #1234"

after2

于 2014-10-18T18:28:29.667 に答える
10

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

TortoiseSVNウィンドウの1つがクラッシュすると、TSVNCache.exeが残り、作業コピーへのハンドルがいくつか残っているため、ロックの問題が発生していることがわかりました(また、クリーンアップがその仕事を実行できなくなります)。

したがって、これを解決するには:

また

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

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

それで

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

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

于 2013-03-04T20:51:34.877 に答える
3

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

$ svn unlock --force tree.jpg

于 2014-04-23T05:52:58.787 に答える
3

私はこの問題を抱えていて、それを解決するために以下の手順を実行しました:

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

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

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

于 2015-10-21T15:22:06.907 に答える
1

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

悪い例:

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

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

良い例え:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation
于 2016-04-18T14:51:43.267 に答える
0

David Mの回答に加えて、クリーンアップの実行中に->「ロックを解除」オプションをチェックしてください。これにより、ロックが確実に解除されます。次に、svn update を実行します。これは私にとってはうまくいきました。

于 2016-05-18T06:22:28.290 に答える
0

解決 :

  1. プロジェクト作業ディレクトリを右クリックします。
  2. TortoiseSVN をナビゲートします。
  3. クリーンアップに移動します。
  4. 作業コピーのステータスをクリーンアップするを選択します(チェックマークを付けます)
  5. [OK] をクリックします。
  6. 手順 1 と 2 を繰り返してから、ナビゲートしてロックを解除します。
  7. [OK] をクリックします。プロジェクトのロックが開かれます。
于 2013-12-23T08:59:20.673 に答える
0

フォルダーの名前を変更してフォルダー パスを小さくすることで、自分のマシンでこの問題を解決できました。

于 2019-05-20T20:59:19.243 に答える
-1

クリーンアップし、すべてのチェックボックスをオンにします=>これは私にとってはうまくいきます

于 2013-09-18T02:49:37.080 に答える