Subversionリポジトリを更新しようとすると、クリーンアップを実行する必要があると言われます。クリーンアップを実行すると、ファイルが見つからないと表示されます。 (私は今朝自宅のPCからコミットに失敗したファイルのMASSIVEディレクトリを削除しましたが、その後仕事から同じファイルのセットをコミットし、そして今私の自宅のレポはバストです)だから、クリーンアップは言う:
クリーンアップでblablablaの処理に失敗しましたファイルblablablaの読み取り/書き込みを設定できません:システムは指定されたファイルを見つけることができません。
私が更新すればそれは言う:
コマンド:更新エラー:前の操作は終了していません。中断された場合は 'cleanup'を実行してくださいエラー: 'Cleanup'コマンドを実行してください。完了しました。
これをどうやって解決できないのですか?
私は同じような状況にありました。ワークスペースのルートからクリーンアップを実行してみましたか?子ディレクトリ(問題がある場所)からのクリーンアップがうまくいかず、ワークスペースのルートからのクリーンアップがうまくいかないこともあります。
それでも失敗する場合は、どこかの子ディレクトリを削除したためです。同様に、子ディレクトリから1レベル上のレベルを削除し(それがルートではないと仮定して)、アップデートとクリーンアップを再試行します。
クリーンアップの試みがどのレベルでも成功しない場合、その答えは残念ながら新しい作業コピーをチェックアウトすることです。
多くの場合、新しいチェックアウトやコピーは必要ありません。
私はちょうどこれからの助けを借りて、「以前の操作が終了していません」というエラーに関する同様の問題を解決しました( Link )
コマンドや操作を処理している間にsvnが動かなくなることがあるようです。これらの操作はすべて、.svnフォルダ内のデータベースファイルwc.dbに格納されています。
私のチェックアウトディレクトリに SQLite をダウンロードして実行することで
sqlite3.exe .svn/wc.db "select * from work_queue"
保留中のすべての操作のリストを取得できます。これらの操作は、エラーが「未完了」としている操作です。
実行して
sqlite3.exe .svn/wc.db "delete from work_queue"
古い操作はすべて作業キューから削除され、エラーが消えます。新しいチェックアウトなどは必要ありません
コンソールsvn cleanup
を実行しても同じ問題が解決しました。
私はちょうど同様の問題を抱えていました。 Process Explorerを実行すると、別のプログラム(Notepad ++)がSVNが削除しようとしたフォルダへのファイルハンドルを持っていることがわかりました。 Notepad ++を閉じたとき、 "Clean Up"は正常に実行できました。
私はすでにSVNに入っているjarファイルを追加した後にこの問題に直面していましたが、同じ名前の新しいバージョンを追加しました。
Eclipseではこれを試しました
上記の手順を使用して、同期することができます。
私はここで最も投票された答えを試してみましたが、他の何人かは役に立ちませんでした。私のWORK_QUEUE
テーブルは空だったので、上位のフォルダでクリーンアップを試すことができませんでした。 仕事したことは以下の通りです(これはTortoise SVN経由です)。
Break Locks
へのオプションがチェックされていることを確認して、OKをクリックしてください。クリーンアップ操作は正常に完了し、続行できます。 sqlite3やその他の複雑なソリューションのダウンロードは不要です。
ファイルが開いているときにクリーンアップを実行しようとすると問題が発生しました。アプリケーションを閉じるとすぐに(Visual Studio)クリーンアップされ、成功しました。
私は同じ問題を抱えていた、私の場合私は私が意味するアプリケーションでSVN亀を使用していた。ルートモードでWindowsのcmdシェルを使用して、私はsvn cleanupを適用してからsvn updateを適用しました。
私は同じ問題を抱えていました、そして、どういうわけか私がc:\レベルで隠された.svnファイルを持っていたことがわかりました。この隠しフォルダ(.svn)を削除すると、すべてうまくいきました。意図せずにルートドライブに作業ディレクトリを作成したに違いありません。
.svnフォルダを別の場所に移動して、同じルートフォルダに戻しました。 SVNを更新しようとした後、更新されました。それがどのように正確に機能したのかはわかりません。
私の場合は、問題を引き起こしていたgulp-watchを実行していました。それを止めた後、私はCleanupコマンドを実行することができました。
私の場合はこんにちはみんな私はVisual Studioを閉じてからクリーンアップを再試行した後それは良い時間を過ごす
「ファイル '/Users/Code/UnitTest.cpp'のパーマを変更できません:そのようなファイルまたはディレクトリはありません」などのエラーがありました。 Subversionはもう存在しないファイルについて混乱しています。私は単にファイルのコピーを作成してからクリーンアップするために "echo ABCD >> /Users/Code/UnitTest.cpp"のような何かをしました。出来た。
外観を使用していて、そのうちの1つが破損していたときに私にはそれが起こりました。そのフォルダに移動してクリーンアップを実行する必要がありました。その後、クリーンアップは作業コピー全体に対して行われました。
例:外部^/widgets/foo common/foo-widget
を使用して、まずフォルダcommon/foo-widget
のクリーンアップを実行します。
私は打撃を試みたのと同じ問題で立ち往生しています。
1. svnに関連するプロセス、すなわちTSVNCache.exeとTortoiseProcを削除してみてください。2.バージョン管理されていないファイルを元に戻し、svnに削除します。 3.コマンドプロンプトを使用したクリーンアップ "svn cleanup"
そして最後にそれが私のために働いたデスクトップを再起動したとき、システムの再起動のために私のために働いた
私のために働いた回避策:
完了しましたが、なぜこれが起こるのか説明できません。ファイルを削除しないと、cleanupコマンドはそれらのファイルを読み書きできないと言ってしまいます。
私の場合、IDE内からコミットしようとしたときにエラーが発生しました。エクスプローラでTortoiseSVNで同じディレクトリのコミットを実行したところ、操作は成功しました。
私にも同じ問題がありました。
私は今日SVNにコミットしようとしたときにこのエラーを解決しました。エラーは本物でした、TortoiseSVNは私がコミットしようとしたファイルにアクセスできませんでした。 Windowsで「管理者として」プログラムを実行している間、このファイルは保存されていました。これは、そのファイルが管理者アクセス権を持ち、私のアカウントからアクセスすることができないことを意味します(TortoiseSVNはインタラクティブユーザーとして実行されています)。私は私のwindowsアカウントの下で指名されたファイルの所有権を取りました、そしてその後、クリーンアップは続行することができました。
メインフォルダからsvnを削除して、elsewere.から持っている別の実行可能なコピーからそれを置き換えてくださいそしてそれから更新してください。 svnフォルダは通常隠しフォルダになります。そのため、上記の手順を実行する前に、フォルダを非表示にしてください。
私は私の仲間の開発者から.svnフォルダを取り、私の.svnフォルダをこれで置き換えました。それは私のために働きました。他に何が起きるのかわからない!
私はこれを含むsvn
に関するいくつかの問題を見ました、それは.svn/tmp
ディレクトリを削除/作成することによって解決されました。それからsvn cleanup
を実行してください
Sigurd Vの答え(あなたが最初にそれを試すべきです)に加えて、いくつかのより大きなコードベースは複数の '.svn'フォルダを持っています、そしてそれはロックされたタスクを持っているルートディレクトリのものであるとは限りません。
その場合は、それぞれ確認する必要があります。 SQLiteとPowershellを既にお持ちの場合は、問題のあるディレクトリを素早く見つけることができます。
どのフォルダがロックされているかを調べるには(path\to\sqlite.exe
を置き換えてください):
Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
。
これは.svnディレクトリのリストと、それぞれの下に現在のタスクのリストを表示します。
未実行のタスクがある場合は、実行ごとに(path\to\sqlite.exe
とpath\to\.svn\wc.db
を置き換えて):
path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
SVN切り替え/クリーンアップを試みたときにファイルがまだ開いていると、これが発生する可能性があります。
新しいファイルを作成したブランチがあり、それを別のアプリケーションで開きました。別のブランチに切り替えてもファイルが削除されず、切り替えが失敗しました。これはsvn cleanup
の失敗の原因にもなりましたが、これはTortoise SVN UIの理由として表示されません。
(ルートフォルダの)コンソールウィンドウからsvn cleanup
を実行すると、明らかにエラーfile\location\file.ext: The process cannot access the file because it is being used by another process
が表示されます。
開いているファイルハンドル/ windowsをすべて閉じてコンソールsvn cleanup
を実行すると、クリーンアップは正しく機能します。
長い話短編 - コンソールでsvn cleanup
を実行すると、より詳細なエラーが表示されます。
このリンクを使用して、 https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
私はチュートリアルでトップ6のオプションがチェックされていることに気づきました。必死に私はそれらのチェックボックスを使用してそれを試してみました、そして私の驚いたことにそれはうまくいった。それぞれが何をするのかを注意深く読むようにしてください。それぞれの説明を見て、彼らは私のために含めるのが安全であるように見えたので、それらのチェックされたアイテムのうちの1つが私を妨げていたどんな問題でも修正したようでした。
私の場合は、バックグラウンドのJava仮想マシンインスタンスが実行されていたため、どのクリーンアップが成功したのでしょう。
私は最初TortoiseSVNでチェックインしようとしているこの問題を抱えていました。当初、TortoiseSVNのクリーンアップとコンソールのsvnのクリーンアップの両方とも、元のポスターと同様のメッセージで失敗しました。
しかし、私の解決策は、(偶然見つけた)数分待つことでした。私はチェックイン時にTSVNCacheがこれらのファイルのいくつかを保持していたと思います。
以下の手順に従ってください。
1)svn
。で正常にクリーンアップできないディレクトリ(ルートフォルダまたは子フォルダ)に移動します。
2)ディレクトリ内の.svn
フォルダを選択し、そのフォルダを切り取り、それを別のドライブまたは別の場所(svnディレクトリ外)に貼り付けます。
3)ディレクトリに戻ります - 右クリックしてTortoiseSVN -->Repo-browser
を選択します
4)フォルダーをCheckout
にします(フレッシュチェックアウトは実行されません)。
5)すべてのあなたのアイテムは再びバージョン管理されます、そしてそれはsvnの内部問題を修復するでしょう、そして問題は解決されるべきです。