プロジェクトのコードを更新またはコミットしようとすると、フォルダーがロックされていることがわかります。 「ロックを解除」しようとすると、この作業スペースにはロックを解除するものは何もないと言われます。
どういう意味ですか?プロジェクトを更新、コミット、またはクリーンアップすることさえできないのはなぜですか。
Subversion作業ディレクトリフォルダーを右クリックし、コンテキストメニューからTortoiseSVN-> Clean Upを選択します。これは、作業ディレクトリを再帰的に処理し、不完全なアクションをクリーンアップし、localロックを削除します(これは、誰もがロックについて知ることができるリポジトリ内のファイルのSubversionロックの使用とは異なります)。
それでも解決しない場合は、変更されたがまだコミットされていないファイルの名前を見つけられるかどうかを確認し、それらを保存して、チェックアウトをやり直してください。
ファイルが自分でロックされた場合(同じsvnアカウント)、次の手順を実行できます。
ロックされたファイルまたはフォルダーを右クリックして、TortoiseSVN-> Get lock ...を選択し、「- []ロックを盗む "ダイアログの左下隅にある「OK」をクリックします。正常に完了した場合は、問題ありません。もう一度ファイルを右クリックすると、TortoiseSVN-> Release lock ...が表示されます。クリックしてロックを解除します。
Svnコマンドラインを使用してローカルフォルダーのロックを解除するには、svn cleanup
を使用します。
前:
# svn commit -m "fixing #1234"
# svn st
# svn cleanup
後:
# svn st
# svn commit -m "fixing #1234"
まだこの問題を抱えている人(エラー:作業コピー '{DIR}'がロックされています。)、私はあなたの解決策を持っています:
TortoiseSVNウィンドウの1つがクラッシュすると、TSVNCache.exeが作業コピーへのハンドルをまだいくつか残しており、それが表示されているロックの問題の原因になっていることがわかりました(また、クリーンアップがジョブを実行できなくなります)。
これを解決するには:
いずれか
1a)Process Explorerなどを使用して、TSVNCache.exeが所有するハンドルを削除します
1b)..さらに簡単に、タスクマネージャーを使用してTSVNCache.exeを強制終了する
その後
2)右クリック-> TortoiseSVN->クリーンアップ。 「作業コピーのステータスをクリーンアップする」のみをチェックする必要があります。
そこから、幸せな更新/コミット。 SVN更新を実行し、更新が終了する前にTortoiseProc.exeプロセスをすばやく終了することにより、ロックの動作を再現できます。
この問題が発生したのはこれが初めてでした。私も効果なしで、PCを再起動しようとしました。これは私の問題を解決します:
私のためのソリューション:
これは私のために動作します。変更をコミットできました。
現在別のユーザーによってロックされているコマンドプロンプトから作業コピーのファイルのロックを解除するには、--force
オプションを使用します。
$ svn unlock --force tree.jpg
私はこの問題を抱えていましたが、以下の手順で解決しました。
子フォルダーではなく親フォルダーでこの手順を実行してください!
それは私のために働いた!
クライアント側からファイルをロック解除できなかったこの問題がありました。私はもっと簡単なサーバー側に行くことにしました。
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”
それでおしまい!
フォルダーを1レベル上に移動し、別のフォルダーに移動していました。私の間違いは、親フォルダー内から移動することでした。
悪い例:
pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir
SVNは、削除されたフォルダー情報で親ディレクトリを更新する必要があります。
ソースフォルダーと宛先フォルダーの共通ルートから実行するか、フルパスを使用する必要があります。
良い例え:
svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation
フォルダーの名前を変更してフォルダーのパスを小さくすることで、コンピューターでこの問題を解決できました。
ブロックされたドキュメントのロックを解除するには:1.右クリック->ロック2. [ロックのスチール]チェックボックスをオンにします2.ロックを解除します
デビッドMの答えに加えて、クリーンアップ中に-> 'break locks'オプションをチェックします。これにより、ロックが確実に解除されます。次に、svn updateを実行します。これは私のために働いた。
私はこの問題について多くのことを研究していますが、これを試すまで解決策はありません:
リポジトリフォルダーはWindows XP仮想マシンと共有されているため、VMからクリーンアップを実行してから、ホストからSVN UPDATEを実行します。
それは私のために働いた。
コスタリカからのご挨拶。
解決策: