237

Subversionリポジトリを更新しようとすると、クリーンアップを実行する必要があると表示されます。クリーンアップを実行すると、ファイルが見つからないと表示されます。(今朝、自宅のPCからコミットできなかったファイルのMASSIVEディレクトリを削除しましたが、同じファイルセットを職場からコミットしたため、自宅のリポジトリが機能しなくなりました)。したがって、クリーンアップは次のように述べています。

クリーンアップがblablablaの処理に失敗しましたファイルblablablaの読み取り/書き込みを設定できません:システムは指定されたファイルを見つけることができません。

更新すると、次のようになります。

コマンド:更新エラー:前の操作は終了していません。中断された場合は「cleanup」を実行してくださいエラー:「Cleanup」コマンドを実行してください。完了しました!:

どうすればこれを解き放つことができますか?

4

29 に答える 29

335

多くの場合、新しいチェックアウトやコピーは必要ありません。

この助けを借りて、「前の操作が終了していません」というエラーに関連する同様の問題を解決しました(リンク

コマンド/操作の処理中にsvnがスタックすることがあるようです。これらの操作はすべて、.svnフォルダーのデータベースファイルwc.dbに保存されます。

SQLiteをチェックアウトディレクトリにダウンロードして実行する

sqlite3.exe .svn/wc.db "select * from work_queue"

保留中のすべての操作のリストを取得できます。これらの操作は、エラーが「未完了」と呼んでいる操作です。

実行することによって

sqlite3.exe .svn/wc.db "delete from work_queue"

古い操作はすべてワークキューから削除され、エラーは消えます。新しいチェックアウトなどは必要ありません

于 2014-03-28T15:54:58.190 に答える
120

コンソールを実行svn cleanupすると、同じ問題が解決しました。

于 2013-10-21T09:18:55.480 に答える
104

私も同じような状況にあります。ワークスペースのルートからクリーンアップを実行してみましたか?子ディレクトリ(問題がある場所)からのクリーンアップが機能しない場合があり、ワークスペースのルートからのクリーンアップが機能する場合があります。

それでも失敗する場合は、どこかで子ディレクトリを削除したためです。子ディレクトリからも1レベル上を削除して(ルートではないと想定)、更新とクリーンアップを再試行してください。

クリーンアップの試行がどのレベルでも成功しない場合、その答えは残念ながら新しい作業コピーをチェックアウトすることです。

于 2012-04-12T18:28:08.263 に答える
26

私はちょうど同様の問題を抱えていました。Process Explorerを実行すると、別のプログラム(Notepad ++)に、SVNが削除しようとしたフォルダーへのファイルハンドルがあることがわかりました。Notepad ++を閉じると、「クリーンアップ」が正常に実行されました。

于 2013-09-10T17:34:44.930 に答える
22

私はここで最も投票された回答と他のいくつかの回答を試しましたが、役に立ちませんでした。WORK_QUEUEテーブルが空で、上位のフォルダでクリーンアップを試すことができませんでした。動作したのは次のとおりです(これはTortoise SVN経由です)。

  • フォルダを右クリック
  • TortoiseSVN->クリーンアップに移動します...
  • オプションBreak Locksがチェックされていることを確認し、[OK]をクリックします

これでクリーンアップ操作が正常に完了し、続行できます。sqlite3やその他の複雑なソリューションをダウンロードする必要はありません。

于 2017-12-21T09:53:34.357 に答える
20

すでにSVNにあるjarを追加した後、この問題に直面し、同じ名前で新しいバージョンを追加しました。

Eclipseでこれを試しました

  1. フォルダ>チーム>更新/クリーンアップを右クリックします。
  2. アプリケーションをクリーンアップ、ビルド、および更新します。
  3. Eclipseを再起動します。

上記の手順を使用して、同期することができます。

于 2014-08-25T11:59:36.810 に答える
9

ファイルが開いているときにクリーンアップを実行しようとすると、問題が発生しました。アプリケーション(Visual Studio)を閉じるとすぐに、クリーンアップを実行して成功しました

于 2014-01-08T16:55:35.297 に答える
9

TortoiseSVNを使用しています。クリーンアップに失敗した場合は、クリーンアップオプションを確認してください

ロックを解除するオプションがチェックされていることを確認してください。

クリーンアップ手順

  • エクスプローラフォルダでマウスの左ボタン
  • 「TortoiseSVN」->「Cleanup...」メニューを選択します
  • ロックを解除」をチェックし、「OK」を押します。

それはすでに答えました、しかし時々絵は助けます

ここに画像の説明を入力してください

于 2019-07-17T08:53:26.133 に答える
4

同じ問題が発生しました。私の場合、つまりアプリケーションでsvntortoiseを使用していました。ルートモードでWindowsのcmdシェルを使用して、svncleanupを適用してからsvnupdate ...を適用しました。その後、アプリケーションモードに戻ることができ、完全に機能します。

于 2015-05-19T14:36:12.240 に答える
3

私はまた、私が打撃を試みたのと同じ問題に固執しました:

1. svnに関連するプロセス(TSVNCache.exeとTortoiseProc)を強制終了してみてください。2。バージョン管理されていないファイルを元に戻し、svnにある同じファイルを削除します。3.コマンドプロンプト「svncleanup」を使用したクリーンアップ

そして最後にデスクトップを再起動したときにそれは私のために働いたので、システムの再起動のために私のために働いた

于 2018-07-04T12:28:24.907 に答える
2

.svnフォルダーを別の場所に削除して、同じルートフォルダーに戻してみました。SVNを更新しようとすると、更新されました。それがどのように正確に機能したかはわかりません。

于 2012-07-11T14:14:58.697 に答える
2

私も同じ問題を抱えていましたが、どういうわけか、c:\レベルに隠された.svnファイルがあることがわかりました。この隠しフォルダー(.svn)を削除すると、すべて正常に機能しました。ルートドライブに意図せずに作業ディレクトリを作成したに違いありません。

于 2014-07-09T19:03:24.680 に答える
2

私の場合、問題の原因となったgulp-watchを実行していました。停止した後、クリーンアップコマンドを実行できました。

于 2015-03-20T11:58:51.807 に答える
2

私の場合、Visual Studioを閉じてクリーンアップを再試行すると、機能します。

于 2017-05-29T09:57:18.307 に答える
2

今日、SVNにコミットしようとしたときにこのエラーを解決しました。エラーは本物でした。TortoiseSVNはコミットしようとしたファイルにアクセスできませんでした。このファイルは、Windowsで「管理者として」プログラムを実行しているときに保存されました。これは、ファイルには管理者アクセス権がありますが、私のアカウントからのアクセス権はないことを意味します(TortoiseSVNはインタラクティブユーザーとして実行されています)。私は自分のWindowsアカウントで指定されたファイルの所有権を取得し、その後クリーンアップを続行できました。

于 2018-06-15T09:18:59.740 に答える
2

ディレクトリsvnを削除/作成することで解決される、これを含むいくつかの問題を見てきました。.svn/tmp次に実行しますsvn cleanup

于 2018-07-19T21:49:14.670 に答える
1

メインフォルダからsvnを削除し、elsewere。から持っている別の実行可能なコピーから置き換えてから更新します。svnフォルダーは通常隠しフォルダーになります。したがって、上記の手順を実行する前に、必ずフォルダを再表示してください。

于 2013-07-31T05:21:39.290 に答える
1

私のために働いた回避策:

  1. ディレクトリの内容を切り取り、別のフォルダにコピーします。
  2. 空のフォルダでコマンドラインからクリーンアップを実行します。
  3. ファイルを元のフォルダにコピーして戻します。

完了しましたが、なぜこれが発生するのか説明できません。ファイルを削除しない場合、クリーンアップコマンドは、それらのファイルの読み取り/書き込みができないことを示します。

于 2013-10-16T10:59:16.653 に答える
1

私は同じ問題を抱えていました、何が私のために働いたのですか?

  1. フォルダとファイルを別の場所、たとえばフォルダにコピーします(最近ファイルを変更しましたが、コミットが失敗し、対処された問題が発生しました)
  2. 新しい作業コピーをチェックしてください
  3. 変更したファイルをフォルダから作業コピーにコピーし、既存のファイルを上書きします。コミット/更新は今すぐ機能するはずです
于 2014-02-12T09:24:51.997 に答える
1

「ファイルの権限を変更できません」/Users/Code/UnitTest.cpp':そのようなファイルまたはディレクトリはありません」などのエラーが発生しました。Subversionは、存在しなくなったファイルについて混乱しています。「echoABCD>>/Users/Code/UnitTest.cpp」のようなものを実行してファイルのコピーを作成し、クリーンアップしました。機能した。

于 2014-08-03T07:44:04.600 に答える
1

私の場合、IDE内からコミットしようとするとエラーが発生しました。エクスプローラーでTortoiseSVNを使用して同じディレクトリのコミットを実行すると、操作は成功しました。

于 2014-10-11T08:24:33.030 に答える
1

これは、外部を使用しているときに発生し、そのうちの1つが破損していました。そのフォルダに移動してクリーンアップを実行する必要がありました。次に、作業コピー全体に対してクリーンアップが機能しました。

例:外部を使用して^/widgets/foo common/foo-widget、最初にフォルダのクリーンアップを実行しますcommon/foo-widget

于 2016-03-21T12:21:08.063 に答える
1

TortoiseSVNでチェックインしようとすると、最初にこの問題が発生しました。最初は、TortoiseSVNのクリーンアップとコンソールのsvnのクリーンアップの両方が失敗し、元のポスターと同様のメッセージが表示されました。

しかし、私の解決策は(偶然に発見されました)、ほんの数分待つことでした。チェックイン時にTSVNCacheがこれらのファイルのいくつかを保持していたと思います。

于 2016-09-29T14:53:39.367 に答える
1

私の場合、バックグラウンドのJava仮想マシンインスタンスが実行されていて、どのクリーンアップが成功したかを強制終了しました。

于 2017-02-15T09:00:06.287 に答える
1

仲間の開発者から.svnフォルダーを取得し、.svnフォルダーをこれに置き換えました。それは私のために働いた。他の結果がどうなるかわからない!

于 2017-08-10T14:56:31.680 に答える
1

これは、SVNの切り替え/クリーンアップを試みたときにファイルがまだ開いている場合に発生する可能性があります。

別のアプリケーションで開いた新しいファイルを作成したブランチがありました。別のブランチに切り替えるとファイルを削除できなかったため、切り替えが失敗しました。これもsvn cleanup失敗の原因でしたが、これはTortoiseSVNUIに理由として表示されません。

svn cleanup(ルートフォルダの)コンソールウィンドウから実行すると、エラーが明確に示されますfile\location\file.ext: The process cannot access the file because it is being used by another process

開いているファイルハンドル/ウィンドウを閉じてコンソールを実行するとsvn cleanup、クリーンアップが正しく機能します。

簡単svn cleanupに言うと、コンソールで実行して、より詳細なエラーを確認します。

于 2018-04-13T12:50:50.410 に答える
1

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.exepath\to\.svn\wc.db):

path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"

于 2018-05-28T17:24:28.087 に答える
1

Eclipseでは;

  1. プロジェクトフォルダを右クリック>チーム>更新/クリーンアップ。
  2. Eclipseウィンドウで、[プロジェクト]メニュー項目の下の[クリーン]オプションを選択します
  3. 最後に、Eclipseを再起動します
于 2020-09-18T06:29:24.530 に答える
0

以下の手順に従ってください。

svn1) 。(ルートフォルダまたは子フォルダ)を介して正常にクリーンアップできないディレクトリに移動します。

2).svnディレクトリ内のフォルダを選択し、そのフォルダを切り取って、別のドライブまたは別の場所(svnディレクトリ外)に貼り付けます

3)ここで、ディレクトリに戻ります-右クリックして選択しますTortoiseSVN -->Repo-browser

4)Checkoutフォルダ(フレッシュチェックアウトは実行されません)。

5)すべてのアイテムが再度バージョン管理され、svnの内部問題が修復され、問題が解決されるはずです。

于 2016-04-22T09:27:55.463 に答える