svn update
を実行すると、このエラーが発生します。
作業コピーXXXXXXXXはロックされています "Cleanup"コマンドを実行してください
クリーンアップを実行すると、
クリーンアップは次のパスを処理できませんでした:XXXXXXXX
このループから抜け出すにはどうすればよいですか。
1つの方法は次のとおりです。
別のオプションは最上位のフォルダを削除して、もう一度チェックアウトすることです。うまくいけばそれはそれに来ない。
私にとっては、問題が発生するまでずっと作業していたフォルダではなく、作業コピーの一番上でsvn cleanup
を実行するのがコツです。
あなたの.svn
フォルダを見てください、その中にlock
と呼ばれるファイルがあるでしょう。そのファイルを削除すると更新することができます。各サブディレクトリの.svn
ディレクトリには、もっと多くのロックファイルがあるかもしれません。彼らも削除する必要があります。これは、コマンドラインから非常に簡単にバッチとして実行できます。
find . -name 'lock' -exec rm -v {} \;
.svn
フォルダー内のファイルを手動で編集していることに注意してください。彼らは理由のためにそこに置かれました。その理由は間違いかもしれませんが、そうでなければあなたはあなたのローカルコピーを損傷する可能性があります。
私の場合は、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番目のステップ: Breakロックオプションを有効にする(クリーンアップポップアップウィンドウの2番目のチェックボックス)
これが大いに役立つことを願っています。
職場の同僚は常にこのメッセージを見ています。彼にとっては、SVNバージョン管理下のディレクトリを削除したためです。without SVNから削除し、バージョン管理下にない場所に新しいディレクトリを作成しました。同じ名前。
これがあなたの問題なら...:
ディレクトリをどのように/なぜ置き換えたかに応じて、さまざまな修正方法があります。
いずれにせよ、あなたはおそらく必要になるでしょう:
A)既存のディレクトリの名前を一時的な名前に変更します
B)SVNからではなく、ファイルシステムから削除されたディレクトリを回復するためにSVNを元に戻します
そこから、あなたは
A)関連ファイルを削除されたディレクトリにコピーします
B)ディレクトリの内容が大幅に変更された場合は、元のディレクトリでSVNを削除し、コミットし、新しいディレクトリの名前を目的の名前に戻し、その後SVNを追加してget thatを追加します1つはバージョン管理下にあります。
これは私のために働いた。
クリーンアップした後、それはあなたが最新バージョンにアップデートすることを可能にします。
私にとっては、それは実際には亀のせいなのです。 Tortoiseは「クリーンアップできません。クリーンアップを実行できません」と不満を述べましたが、コマンドライン(svn cleanup)を実行したとき、使用中のファイルを削除できないと明らかに言われました。ファイルを開いたままにしていたVisual Studioを閉じると、クリーンアップは正常に機能しました。
他のプログラムもレポジトリ内でファイルを開いたままにしてこの問題を引き起こす可能性があります。 xlsを開いたままにしているExcelは、別の例では犯人でした。そのため、リポジトリで何かを使用している可能性があるすべてのプログラムを閉じるか、強制的にプログラムを閉じてから再度クリーンアップを試みます。
外部フォルダを既存のフォルダにリンクしたくないため、この問題が発生しました。移動先が既存の(バージョン管理されている、またはバージョン管理されていない)フォルダであるsvn:externalsプロパティ行を追加すると、SVN Woring Copy lockedエラーが発生します。ここでクリーンアップを行うと、覆い焼きは問題ないが、それでも更新はうまくいかないことがわかります。
解決策:問題のあるフォルダをリポジトリから削除し、svn:externalsプロパティが設定されているルートフォルダを更新します。これでフォルダが作成され、すべてうまくいきます。
Svn:externals for filesはインストール先フォルダをバージョン管理する必要があるため、この問題は私には起こりました。これが異なるリポジトリ間ではうまくいかないことに気付いた後、私は外部ファイルから外部フォルダにスワップしてこの混乱に陥りました。
これを行う最も簡単な方法は、隠しフォルダを表示してから.SVNフォルダを開くことです。 "lock"という名前のゼロKBファイルを削除すると問題が解決します。
私はSVN 1.7を使用して全く同じ問題に遭遇しましたが、上記の修正はどれもうまくいきませんでした。
まず第一に、あなたがすべてのあなたの編集された内容をバックアップすることを確認してください。
数時間を費やした後(私のブランチのサイズが6 GBを超えているのですべてを再ダウンロードしなかった)、私はあなたのブランチの.svnフォルダーに "wc"と呼ばれるdbファイルがあることを知りました。
任意のDBマネージャ(私はFirefoxのsqliteマネージャプラグインを使用)を使用してDBファイルを開き、WC_LOCKテーブルに移動します。このテーブルは獲得されたロックのためのエントリーを持つでしょう。テーブルからレコードを削除すれば完了です。
新しいフォルダを作成し、プロジェクトをチェックアウトし、更新されたファイルを新しいフォルダにコピーするだけで完了しました。
それは新鮮なチェックアウトで修正されました。
Windowsマシンを使用している場合は、ブラウザでリポジトリを表示すると、ファイル名が同じで大文字と小文字が異なる2つのファイルが表示されることがあります。 Subversionでは大文字と小文字が区別され、Windowsではそうではないので、Windowsが同じファイルをプルダウンしていると思っていてSubversionがそうではないと考えると、ロックを受けることができます。リポジトリー上の重複ファイル名を削除してやり直してください。
私はこの問題を抱えているとき、私は問題のパス上で直接cleanupコマンドを実行することが一般的にうまくいくように見えます。それから私は再び作業ルートからクリーンアップを実行します、そしてそれは他のディレクトリについて文句を言うでしょう。それが文句を言わなくなるまで繰り返します。
Mac OSの下のバージョンで:アクション - >クリーンアップ作業コピーのロック...
.svnフォルダを削除してから、親ディレクトリをクリーンアップします。完璧に動作します!
私はしばしばそのような問題を抱えています。クリーンアップの問題を引き起こす私のパターン。
削除されたファイルが開かれているところでImage Viewerを閉じると問題は解決します。他のソフトウェアが同じ方法でクリーンアップをブロックする可能性があります。
一般に。そのような場合には、コンピュータを再起動すると効果があると思います。
TortoiseSVNを使っていてアップグレードしたばかりですか?私は1.4から1.5に移動して再起動していないときに以前問題がありました。 (再起動してみてください)。
あなたが再起動する必要がある理由は、キャッシュファイルがすべてファンキーになるためです。
それ以外の場合は、先に進むために、その作業コピーを新しいフォルダにエクスポートし(.svn隠しフォルダをコピーしないでください)、プロジェクトを再度チェックアウトし、すべてのコードを元に戻してからコミットを続行します。
ファイルのインプレースバージョン管理、および同じ場所への新しいチェックアウトによって、この問題は解決しました。
TortoiseSVNでインプレースバージョン管理を解除するには、作業コピーのルートフォルダをファイルリストからディレクトリツリー内の自分自身に右ドラッグし、ポップアップメニューから[SVNバージョン管理下の項目をここにエクスポート]を選択します。 TortoiseSVNは、コピー先がコピー元と同じであることに気付き、作業コピーを元に戻すことを提案します。
バージョン管理を解除した後、同じフォルダ(現在はすべてのファイルのバージョン管理外のコピーが含まれています)に新しいチェックアウトを行います。 TortoiseSVNはあなたが既存のフォルダにチェックアウトしようとしていることを警告しますが、あなたは先に進むことができます。
その後、クリーンアップ、更新、その他の操作は問題なく行われました。上記のステップはどちらもローカルの変更を保存するので、情報が失われることはありません(ただし、作業コピーをバックアップする前にバックアップすることをお勧めします)。
1つの警告:作業コピーに複数のバージョンが混在していたり、コミットされていないプロパティの変更が含まれていると、その情報は失われます。私にとっては、これは一般的なことではなく、破損した作業コピーを選択するか、コミットされていないプロパティの変更を失うことを考えると、後者を選択する傾向があります。
SVNは通常、実際のファイルがリポジトリから取得される前に、フォルダ内のファイルの内部構造(.svn/prop-base)を更新します。ファイルが取得されると、これは消去されます。更新の進行中に「更新」が失敗したか、途中でキャンセルされたために、エラーが発生することがよくあります。
これでアップデートはうまくいくはずです。
クリーンアップする
クリーンアップ操作を実行してください。
.
Try performing the clean up operation.
This got my issue resolved.
私は「クリーンアップ」がうまくいったところでこの問題を抱えていましたが、「アップデート」は失敗し続けるでしょう。 TortoiseSVNの削除(削除をリポジトリにコミットするものとしてマークする)ではなく、エクスプローラで問題のフォルダを削除することで解決しました。その後、チェックアウトを実行して、基本的にリポジトリからフォルダを「更新」しました。
O/S削除とSVN削除の違いの詳細については、次のURLをご覧ください。 http://tortoisesvn.net/docs/release/TortoiseSVN_jp/tsvn-dug-rename.html
特に:
TortoiseSVN→ファイルを削除すると、そのファイルはすぐに作業コピーから削除され、次のコミット時にリポジトリで削除対象としてマークされます。
そして:
TortoiseSVNのコンテキストメニューを使用せずにエクスプローラでファイルを削除すると、コミットダイアログにそれらのファイルが表示され、コミット前でもバージョン管理からそれらを削除できます。ただし、作業コピーを更新すると、Subversionは見つからないファイルを見つけて、それをリポジトリの最新バージョンに置き換えます。
ソリューションエクスプローラーで、プロジェクトを右クリックし、開くサブメニューでSubversionをクリックして、クリーンアップを選択します。それは私のためにやったように、それは問題を解決します。それがうまくいくことを願っています。
Linuxを使用している場合は、これを試してください。
find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R
その後、そのディレクトリでcleanup
コマンドを実行してから、更新を試みます。
私は私の問題を解決するために次のようにしました:
私にとって、問題は私がそれが再び働いて始めたいくつかのフォルダーを削除したとき、完全なフルディスクドライブ(私の場合はlinux inode)にありました。
エラーは次のとおりです(svnアクション)。
$ svn cleanup
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy locked; try running 'svn cleanup' on the root of the working copy ('/my/directory') instead.
svn: E155004: Working copy '/my/directory' locked
svn: E200030: sqlite[S14]: unable to open database file
svn: E200030: Additional errors:
svn: E200030: sqlite[S14]: unable to open database file
ソリューションを削除しないでください。
.svnフォルダにはlockという名前のファイルがあり、長さは0バイトです。
あなたはあなたのソリューション内のすべての.svnフォルダからこれらすべてのファイルを削除することができ、それは動作します
私の場合はうまくいきました
私はそれをめちゃくちゃにしていた私のルートディレクトリにファイルがありました。 (ロックファイルがない、svn cleanupが失敗した、など)私の全体のチェックアウトは遅いネットワーク速度で> 2GBなので、もう一度すべてをチェックアウトすることは私にとって すばらしい オプションではありませんでした。
私にとってうまくいったこと:
私にとっては正常に戻ったようです。
私はTortoiseSVNの下でこれを持っていました、そして、エラーは私が新しいプロジェクトの下で作成した新しいディレクトリに関連していました。このプロジェクトを作成したばかりなので、このディレクトリが以前に存在していた方法はありませんでした。私はリポジトリブラウザを見ました、そして、新しいフォルダは確かにすでにリポジトリの中にありました、しかしTortoiseSVNはそれをコミットされたとして示しませんでした。
それを回避するために、とにかくフォルダを作成したばかりなので、リポジトリから削除してからコミットしました。それはうまくいった。
これをVisual Studioの外部で行ったので、その後すべてを理解するためにVisual Studioを再起動する必要がありました。
私はこれが本当に古いスレッドであることを知っています、しかし私はそれを維持します:
これを修正する最も簡単で安全な方法はあなたの隠れた ".svn"フォルダを削除してそしてもう一度すべてをチェックすることです。
先頭のリビジョンをチェックアウトしたときにsvn screwがローカルの変更( "conflicted"とマークされている)を保持する必要がある場合のほとんどの問題を修正します。
ディレクトリのアクセス許可を更新する(書き込みアクセスを許可する)と、同様に問題が解決します。
chmod +w <dir_name>
私が答えで見たことがないこの問題の1つの理由はupdate
かcheckout
が例えば$Sudo
のように他のユーザ/パーミッションで行われたかもしれないということです。
私は同じ問題を抱えていました。それは最新バージョンで修正されたようです。私はTortoise SVN
を最新版(1.7.11)に更新し、clean up
はうまくいっています。
最新版はこちらからダウンロードできます: tortoise svn をダウンロードしてください。
@チャックの解決策は私にとって実用的ではありませんでした。私が最初に問題を抱えたとき、それはうまくいったが多くの余分な仕事も与えた。 2番目のケースでは、ネットワーク外でノートブックを使用している間にファイルのロードを変更しました。ファイルが変更された後、自分自身がフォルダごとに移動するのを確認できませんでした。カメを希望して働いていた。方法を参照してください。
環境だった:
手順:
ステップ:
Svnフォルダから編集中のファイルをすべて閉じます
Eclipseまたはsvnディレクトリのファイルまたはフォルダを使用しているエディタを閉じます。
Svn check out folderを右クリックしてrelease lockをクリックしてください。
Svn check out folderを右クリックして、cleanをクリックしてください。
あなたのSVNはSVNコミットと更新操作の準備ができています。
歓声:)
検索開始...ロック...表示されているファイルをすべて選択して削除します。
この問題を解決するには、クリーンアップだけでは不十分であることは確かです。
TortoiseSVN v1.7.2以降を使用している場合は、ロックされたファイルの親ディレクトリを右クリックしてメニューからTortoiseSVN - >リポジトリブラウザを選択します。 Repro Browser GUIで、ロックされているファイルを右クリックすると、ロックを解除するオプションが表示されます。
次のようにしてください。
svn status | grep "。L" | sed 's /.*(。*)$/\ 1 /' | awk '{プリント長($ 1)、$ 1}' | sort -nr | awk '{print "pushd" $ 2 "; svn cleanup; popd"}' | sh
Spotlightは、ロックファイルを再帰的に見つけるのが一般的なゴミです。
Mac App StoreでEasyFindが機能する
http://iTunes.Apple.com/gb/app/easyfind/id411673888?mt=12
'lock'を検索
すべて選択/削除