私が行うときにこのエラーが発生しますsvn update
:
作業コピーXXXXXXXXがロックされています "クリーンアップ"コマンドを実行してください
クリーンアップを実行すると、
クリーンアップで次のパスを処理できませんでした:XXXXXXXX
このループから抜け出すにはどうすればよいですか?
私が行うときにこのエラーが発生しますsvn update
:
作業コピーXXXXXXXXがロックされています "クリーンアップ"コマンドを実行してください
クリーンアップを実行すると、
クリーンアップで次のパスを処理できませんでした:XXXXXXXX
このループから抜け出すにはどうすればよいですか?
回答:
1つのアプローチは次のとおりです。
もう1つのオプションは、最上位のフォルダーを削除して、もう一度チェックアウトすることです。それがうまく行かないことを願っています。
私にとっての秘訣はsvn cleanup
、問題が発生する前にずっと作業していたフォルダーではなく、作業コピーの一番上で実行することでした。
.svn
フォルダを見てくださいlock
。その中にと呼ばれるファイルがあります。そのファイルを削除すると、更新できるようになります。.svn
各サブディレクトリのディレクトリにさらにロックファイルがある場合があります。彼らも削除する必要があります。これは、例えばコマンドラインから非常に簡単にバッチとして行うことができます
find . -name 'lock' -exec rm -v {} \;
.svn
フォルダー内のファイルを手動で編集していることに注意してください。彼らは理由のためにそこに置かれました。その理由は間違いかもしれませんが、そうでない場合は、ローカルコピーに損傷を与える可能性があります。
find . | grep ".svn/lock" | xargs rm
私の場合、WC_LOCKテーブルのSQLite ".svn \ wc"ファイルロックレコードのレコードを手動で削除して解決しました。
SQLiteエディターで「WC」ファイルを開いて実行しました
delete from WC_LOCK
eakkasのコメントに続いて、WORK_QUEUE
テーブルからもすべてのエントリを削除する必要がある場合があります。
これまでで最も簡単な方法:
Clean up working copy status
、Break locks
、Fix time stamps
、Vacuum pristine copies
、Refresh shell overlays
、Include externals
あなたはあなたの仕事を成功させました。
参考のためにスクリーンショットを確認してください。
最初の一歩:
2番目のステップ: [ロックの解除]オプションを有効にします(クリーンアップポップアップウィンドウの2番目のチェックボックス)
これがあなたの役に立つことを願っています。
職場の同僚は常にこのメッセージを目にしています。彼にとっては、SVNから削除せずに SVNバージョン管理下のディレクトリを削除し、バージョン管理下にない同じ場所に、同じ名前で新しいディレクトリを作成したためです。
これがあなたの問題なら...:
これを修正する方法はいくつかありますが、ディレクトリが置換された方法と理由によって異なります。
どちらの場合も、次のことを行う必要があります。
A)既存のディレクトリの名前を一時的な名前に変更します
B)SVNを元に戻して、ファイルシステムから削除されたディレクトリを復元しますが、SVNからは復元しません
そこから、あなたはどちらかでしょう
A)削除されたディレクトリに関連ファイルをコピーします
SVNに続くB)ディレクトリ内のコンテンツの大幅な変更があった場合は、SVNは、元に削除コミット、および希望する名前に新しいディレクトリバックの名前を変更しますが、取得するために追加しているバージョン管理下にものを。
私にとって、上記の解決策はどれもうまくいきませんでした。ロックを解除することで解決策を見つけました。svn cleanupを実行したときに、「Break Locks」と「Clean up working copy status」を選択しました。
これは私のために働いた。
クリーンアップした後、最新バージョンに更新できます。
Clean up working copy status
し、Breaks locks
そしてInclude externals
私にとって、それは実際には亀のせいでした。Tortoiseは「クリーンアップできません、クリーンアップを実行できません」とだけ文句を言いましたが、コマンドライン(svn cleanup)を実行すると、使用中のいくつかのファイルを削除できないことが明確に通知されました。Visual Studioを閉じると(ファイルは開いたままでした)、クリーンアップは正常に機能しました。
他のプログラムも、リポジトリでファイルを開いたままにして、この問題を引き起こします。別のインスタンスでは、xlsを開いたままのExcelが原因でした。そのため、リポジトリで何かを使用している可能性のあるすべてのプログラムを閉じるか、再起動してプログラムを強制終了し、クリーンアップを再試行するのが賢明です。
外部フォルダを既存のフォルダにリンクしたくないため、この問題が発生しました。宛先が既存の(バージョン付きまたはバージョンなし)フォルダーであるsvn:externalsプロパティ行を追加すると、SVN Woring Copyロックエラーが発生します。ここでは、クリーンアップにより、すべてが正常であるにもかかわらず、更新が機能しないこともわかります。
解決策:リポジトリから問題のあるフォルダーを削除し、svn:externalsプロパティが設定されているルートフォルダーを更新します。これでフォルダが作成され、すべて元通りになります。
ファイルのsvn:externalsで宛先フォルダーをバージョン管理する必要があるため、この問題が発生しました。これが異なるリポジトリでは機能しないことに気付いた後、外部ファイルから外部フォルダーにスワップして、この混乱に陥りました。
これを行う最も簡単な方法は、隠しフォルダーを表示してから.SVNフォルダーを開くことです。「lock」という名前のゼロKBファイルが表示されるはずです。これを削除すると問題が解決します
私はSVN 1.7を使用してまったく同じ問題に遭遇し、上記の修正はどれも機能しませんでした。
まず、編集したすべてのコンテンツをバックアップしてください。
数時間を費やした後(私のブランチのサイズが6GBを超えているため、すべてを再ダウンロードしませんでした)、ブランチの.svnフォルダーに「wc」というdbファイルがあることがわかりました。
任意のdbマネージャー(Firefoxのsqliteマネージャープラグインを使用)を使用してdbファイルを開き、WC_LOCKテーブルに移動します。このテーブルには、取得されたロックのエントリが含まれます。テーブルからレコードを削除すれば完了です:)
新しいフォルダを作成し、プロジェクトをチェックアウトし、更新されたファイルを新しいフォルダにコピーするだけでそれを実現しました。
新しいチェックアウトで修正されました。
.svnフォルダーを削除してから、親ディレクトリでクリーンアップを実行します。完璧に動作します!!
私はしばしばそのような問題に遭遇します。クリーンアップの問題を引き起こす私のパターン。
削除されたファイルが開かれている画像ビューアを閉じると問題が解決します。たぶん他のソフトウェアが同じ方法でクリーンアップをブロックすることができます。
一般に。このような場合は、コンピュータを再起動すると効果があると思います。
バージョン管理されたフォルダの下にあるフォルダをエクスポートしたため、同じ問題がありました。TortoiseSVNからフォルダーを削除してから、ファイルシステムからフォルダーを削除する必要がありました(TortoiseSVNはバージョン管理されていないサブフォルダーが好きではありません...なぜですか???)
ソリューションを削除しないでください。
.svnフォルダーに、lockというファイルがあり、長さが0バイトです
ソリューション内のすべての.svnフォルダーからこれらのファイルをすべて削除すると、機能します
私の場合はうまくいきました
ファイルのインプレースバージョン管理解除と同じ場所への新しいチェックアウトにより、この問題は解決しました。
TortoiseSVNでインバージョンのバージョン管理を解除するには、作業コピーのルートフォルダーをファイルリストからディレクトリツリーのそれ自体に右ドラッグし、ポップアップメニューから[SVNエクスポートバージョン管理アイテムをここに]を選択します。TortoiseSVNは、宛先がソースと同じであることを認識し、作業コピーのバージョンを解除することを提案します。
バージョン管理を解除した後、同じフォルダに新しいチェックアウトを実行します(このフォルダには、所有していたすべてのファイルのバージョン管理されていないコピーが含まれています)。TortoiseSVNは、既存のフォルダーにチェックアウトすることを警告しますが、先に進むことができます。
この後、クリーンアップ、更新、その他の操作は問題なく機能しました。上記のどちらの手順でもローカルでの変更が保持されるため、情報が失われることはありません(ただし、作業コピーをバックアップしてからこれを行うとよいでしょう)。
警告:作業コピーにバージョンが混在しているか、コミットされていないプロパティの変更が含まれている場合、その情報は失われます。私にとってこれは一般的なことではありません。破損した作業コピーを選択するか、コミットされていないプロパティの変更を失うことを考えると、後者を選択する傾向があります。
「クリーンアップ」が機能するこの問題がありましたが、「更新」は引き続き失敗します。有効な解決策は、TortoiseSVNの削除ではなく、Windowsエクスプローラーで問題のフォルダーを削除することでした(これにより、リポジトリにコミットするものとして削除にマークが付けられ、リポジトリからフォルダーを「更新」するために「チェックアウト」を行いました。
O / S削除とSVN削除の違いの詳細については、http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.htmlをご覧ください。
特に:
TortoiseSVN→ファイルを削除すると、ファイルはすぐに作業コピーから削除され、次のコミット時にリポジトリで削除対象としてマークされます。
そして:
TortoiseSVNコンテキストメニューを使用する代わりにエクスプローラーを介してファイルを削除すると、コミットダイアログにそれらのファイルが表示され、コミット前にバージョン管理からもファイルを削除できます。ただし、作業コピーを更新すると、Subversionは欠落しているファイルを見つけて、リポジトリの最新バージョンに置き換えます。
私は私の問題を修正するために次のことをしました:
ソリューションエクスプローラーで、プロジェクトを右クリックし、最初のサブメニューでsubversionをクリックして、クリーンアップを選択します。それは私と同じように問題を解決します。それがうまくいくことを願っています。