591

次の操作を行うと、このエラーが発生しますsvn update

作業コピー XXXXXXXXX がロックされています 「クリーンアップ」コマンドを実行してください

クリーンアップを実行すると、

クリーンアップで次のパスを処理できませんでした: XXXXXXXX

このループから抜け出すにはどうすればよいですか?

4

49 に答える 49

522

1つのアプローチは次のとおりです。

  1. 編集したアイテムを別の場所にコピーします。
  2. 問題のあるパスを含むフォルダを削除します。
  3. Subversionを使用して、含まれているフォルダーを更新します。
  4. ファイルをコピーして戻すか、必要に応じて変更をマージします。
  5. 専念

もう1つのオプションは、最上位のフォルダーを削除して、もう一度チェックアウトすることです。うまくいけば、それはそれにはなりません。

于 2008-09-24T15:47:13.240 に答える
482

私にとっての秘訣はsvn cleanup、問題が発生する前にずっと作業していたフォルダーではなく、作業コピーの先頭で実行することでした。

于 2009-08-28T03:10:04.380 に答える
210

フォルダを見ると.svn、その中に というファイルがありますlock。そのファイルを削除すると、更新できるようになります。.svn各サブディレクトリのディレクトリには、さらに多くのロック ファイルが存在する場合があります。それらも削除する必要があります。これは、コマンドラインから非常に簡単にバッチとして実行できます。

find . -name 'lock' -exec rm -v {} \;

フォルダー内のファイルを手動で編集していることに注意して.svnください。それらは理由があってそこに置かれています。その理由は間違いかもしれませんが、そうでない場合は、ローカル コピーが破損している可能性があります。

ソース: http://www.svnforum.org/2017/viewtopic.php?p=6068

于 2009-07-14T13:41:02.577 に答える
109

私の場合、WC_LOCKテーブルのSQLite「.svn\wc」ファイルロックレコードのレコードを手動で削除することで解決しました。

「WC」ファイルをSQLiteエディタで開いて実行してみました

delete from WC_LOCK

WC_LOCK から消去されたすべてのエントリを示すスクリーンショット

eakkasのコメントに従って、テーブルからもすべてのエントリを削除する必要がある場合がありますWORK_QUEUE

于 2012-09-07T22:09:48.873 に答える
103

これまでで最も簡単な方法:

  1. Projectの親ディレクトリ(フォルダ)に移動します。
  2. 押す右クリック
  3. TortoiseSVNを押してから、クリーンアップを押します...
  4. クリーンアップ ダイアログが自動的に表示される
  5. Clean up working copy statusBreak locksFix time stampsVacuum pristine copies、 、Refresh shell overlaysを選択Include externals
  6. プレスOK

あなたは仕事をうまくやり遂げました。

参考までにスクリーンショットを確認してください。

最初の一歩:

ここに画像の説明を入力

2 番目のステップ: Break lock オプションを有効にします (クリーンアップ ポップアップ ウィンドウの 2 番目のチェック ボックス)。 ここに画像の説明を入力

これが大いに役立つことを願っています。

于 2016-02-04T04:41:39.907 に答える
48

職場の同僚は常にこのメッセージを目にします。彼にとっては、 SVNから削除せずに、SVNバージョン管理下のディレクトリを削除し、バージョン管理下にない場所に同じ名前の新しいディレクトリを作成したためです。

これがあなたの問題なら...:

ディレクトリが置き換えられた方法/理由に応じて、さまざまな修正方法があります。

いずれにせよ、次のことを行う必要があります。

A)既存のディレクトリの名前を一時的な名前に変更します

B)SVNを元に戻して、ファイルシステムから削除されたディレクトリを回復しますが、SVNからは回復しません

そこから、あなたはどちらか

A)削除されたディレクトリに関連ファイルをコピーします

B)ディレクトリの内容に大幅な変更があった場合は、元のディレクトリでSVN削除を実行し、コミットして、新しいディレクトリの名前を目的の名前に戻します。その後、SVNを追加して、そのディレクトリをバージョン管理下に置きます。

于 2008-09-24T15:49:21.347 に答える
23

これは私のために働いた。

  1. ルートフォルダーに移動し、
  2. 右クリックしてクリーンアップ
  3. 利用可能なすべてのオプションを確認する
  4. [OK] を押します

クリーンアップ後、最新バージョンに更新できます。

于 2013-05-10T03:05:02.467 に答える
11

私にとって、それは実際には亀のせいでした。Tortoise は「クリーンアップできない、クリーンアップを実行できない」と不平を言いましたが、コマンド ライン (svn cleanup) を実行すると、使用中のファイルを削除できないことが明確にわかりました。Visual Studio (ファイルを開いたままにしていた) を閉じると、クリーンアップは正常に機能しました。

他のプログラムも、この問題を引き起こしているリポジトリでファイルを開いたままにしておくことができます。別の例では、Excel で xls を開いたままにしておくことが原因でした。そのため、リポジトリ内の何かを使用している可能性があるすべてのプログラムを閉じたり、再起動してプログラムを強制的に終了させたり、クリーンアップを再試行したりすることをお勧めします。

于 2013-08-19T18:16:33.383 に答える
7

外部フォルダーを既存のフォルダーにリンクしたくないため、この問題が発生しました。コピー先が既存の (バージョン管理されている、またはバージョン管理されていない) フォルダーである svn:externals プロパティ行を追加すると、SVN Woring Copy locked エラーが発生します。ここでクリーンアップを行うと、何も問題はありませんが、それでも更新がうまくいかないことがわかります。

解決策: 問題のあるフォルダーをリポジトリから削除し、svn:externals プロパティが設定されているルート フォルダーを更新します。これによりフォルダーが作成され、すべてが再び正常になります。

この問題が発生したのは、ファイルの svn:externals では宛先フォルダーをバージョン管理する必要があるためです。これが異なるリポジトリ間で機能しないことに気付いた後、外部ファイルから外部フォルダーにスワップし、この混乱に陥りました。

于 2010-05-18T15:05:07.343 に答える
6

これを行う最も簡単な方法は、非表示のフォルダーを表示してから、.SVNフォルダーを開くことです。「lock」という名前のゼロKBファイルが表示されるはずです。これを削除すると、問題が修正されます。

于 2010-03-15T21:09:00.040 に答える
5

SVN 1.7 を使用してまったく同じ問題に遭遇しましたが、上記の修正はどれも機能しませんでした。

何よりも、編集したすべてのコンテンツを必ずバックアップしてください。

数時間を費やした後 (ブランチのサイズが 6 GB を超えているため、すべてを再ダウンロードしませんでした)、ブランチの .svn フォルダーに「wc」という名前の db ファイルがあることがわかりました。

任意の db マネージャーを使用して db ファイルを開き (私は firefox の sqlite マネージャー プラグインを使用しました)、WC_LOCK テーブルに移動します。このテーブルには、取得したロックのエントリが含まれます。テーブルからレコードを削除すれば完了です:)

于 2012-11-12T08:25:34.037 に答える
3

Windowsマシンを使用している場合は、ブラウザでリポジトリを表示すると、同じファイル名で大文字と小文字が異なる2つのファイルが表示される場合があります。Subversionは大文字と小文字を区別しますが、Windowsは大文字と小文字を区別しないため、Windowsが同じファイルをプルダウンしていると判断し、Subversionがそうではない場合に、ロックを取得できます。リポジトリー上の重複ファイル名を削除して、再試行してください。

于 2010-05-04T07:55:38.327 に答える
3

新しいフォルダーを作成し、プロジェクトをチェックアウトし、更新されたファイルを新しいフォルダーにコピーするだけで完了しました。

フレッシュチェックアウトで修正されました。

于 2011-06-03T19:12:37.350 に答える
3

この問題が発生した場合、問題のパスで cleanup コマンドを直接実行すると、通常はうまくいくようです。次に、作業ルートから再度クリーンアップを実行すると、他のディレクトリについてエラーが表示されます。文句を言わなくなるまで繰り返します。

于 2009-07-16T19:01:01.543 に答える
2

TortoiseSVNを使用していて、アップグレードしたばかりですか?1.4から1.5に移行して再起動しないときに、以前にその問題が発生しました。(再起動してみてください)。

再起動が必要な理由は、キャッシュファイルがすべてファンキーになるためです。

それ以外の場合は、先に進むには、その作業コピーを新しいフォルダーにエクスポートし(.svn非表示フォルダーをコピーしないでください)、プロジェクトを再チェックアウトし、すべてのコードを元に戻してから、コミットを続行します。

于 2008-09-24T15:43:28.570 に答える
2

Mac OS のバージョン: アクション -> 作業コピーのロックをクリーンアップ...

于 2012-07-31T14:16:09.693 に答える
2

.svn フォルダを削除してから、親ディレクトリでクリーンアップを実行してください。完璧に動作します!!

于 2009-06-11T14:57:14.797 に答える
1

バージョン管理されたフォルダーの下にフォルダーをエクスポートしたため、同じ問題が発生しました。TortoiseSVNからフォルダーを削除してから、ファイルシステムからフォルダーを削除する必要がありました(TortoiseSVNはバージョン管理されていないサブフォルダーが好きではありません...なぜですか?)

于 2009-03-12T14:41:00.583 に答える
1

Linuxを使用している場合は、次のことを試してください。

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

次にcleanup、そのディレクトリでコマンドを実行してから、更新を試みます。

于 2010-10-19T02:06:17.350 に答える
1

検索を開始....ロック...リストされているすべてのファイルを選択し、削除..修正済み

于 2010-05-20T20:01:42.917 に答える
1

「クリーンアップ」が機能するというこの問題がありましたが、「更新」は失敗し続けます。うまくいった解決策は、TortoiseSVN の削除ではなく、Windows エクスプローラーを介して問題のフォルダーを削除することでした (削除をリポジトリにコミットするものとしてマークし、リポジトリからフォルダーを本質的に「更新」するために「チェックアウト」を行いました。

O/S 削除と SVN 削除の違いに関する詳細情報: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

特に:

TortoiseSVN → ファイルを削除すると、そのファイルは作業コピーからすぐに削除され、次のコミット時にリポジトリで削除のマークが付けられます。

と:

ファイルが TortoiseSVN コンテキスト メニューを使用する代わりにエクスプローラーから削除された場合、コミット ダイアログにそれらのファイルが表示され、コミット前にバージョン管理からも削除できます。ただし、作業コピーを更新すると、Subversion は不足しているファイルを見つけて、リポジトリの最新バージョンに置き換えます。

于 2011-10-21T16:56:08.903 に答える
1

ソリューションを削除しないでください。

.svn フォルダーには、lock というファイルがあり、長さは 0 バイトです

ソリューション内のすべての .svn フォルダーからこれらのファイルをすべて削除すると、機能します。

私の場合はうまくいきました

于 2010-07-06T10:25:26.157 に答える
1

次のようにする必要があります。

svn ステータス | grep ".L" | sed 's/.* (.*)$/\1/' | awk '{印刷長($1),$1}' | 並べ替え -nr | awk '{print "pushd " $2 "; svn cleanup ; popd"}' | し

于 2010-06-23T22:33:45.750 に答える
1

問題を解決するために次のことを行いました。

  1. フォルダ名の前に「_」を付けて、問題のあるフォルダの名前を変更しました。
  2. 親フォルダーの「クリーンアップ」を行いました。
  3. 問題のあるフォルダの名前を元の名前に戻しました。
  4. コミットしました。
于 2012-06-13T21:07:32.693 に答える
1

これは TortoiseSVN の下にあり、エラーは新しいプロジェクトの下に作成した新しいディレクトリに関連していました。このプロジェクトを作成したばかりなので、このディレクトリが以前に存在したことはありませんでした。リポジトリ ブラウザーを調べたところ、新しいフォルダーは確かに既にリポジトリにありましたが、TortoiseSVN はそれをコミット済みとして表示しませんでした。

それを回避するために、とにかくフォルダーを作成したので、リポジトリで削除してからコミットしました。うまくいきました。

これを Visual Studio の外で行ったので、Visual Studio を再起動して、すべてを再度把握する必要がありました。

于 2010-04-26T10:22:39.037 に答える
1

私にとっては、問題は完全にディスク ドライブ (私の場合は 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
于 2015-07-31T13:24:20.987 に答える
1

ソリューション エクスプローラーで、プロジェクトを右クリックし、最初のサブメニューで subversion をクリックし、クリーンアップを選択します。それは私のためにしたように、問題を解決します。それがうまくいくことを願っています。

于 2013-09-26T10:46:56.637 に答える
1

クリーンアップを行うには

  1. .svn フォルダーを削除します。

  2. ルート フォルダーで svncheckout を実行します。

  3. クリーンアップ操作を実行してみてください。

これで私の問題は解決しました。

于 2015-07-29T12:14:35.863 に答える
1

ファイルをインプレースでバージョン管理解除し、同じ場所に新たにチェックアウトすることで、この問題は解決しました。

TortoiseSVN でインプレース バージョン管理を解除するには、作業コピーのルート フォルダをファイル リストからディレクトリ ツリーのそれ自体に右ドラッグし、ポップアップ メニューから [SVN バージョン管理された項目をここにエクスポート] を選択します。TortoiseSVN は宛先がソースと同じであることを認識し、作業コピーのバージョンを解除することを提案します。

バージョン管理を解除した後、同じフォルダーに新たにチェックアウトします (このフォルダーには、バージョン管理されていないすべてのファイルのコピーが含まれています)。TortoiseSVN は、既存のフォルダーにチェックアウトしていることを警告しますが、先に進むことができます。

この後、クリーンアップ、更新、およびその他の操作は問題なく機能しました。上記の両方の手順でローカルの変更が保持されるため、情報が失われることはありません (ただし、作業コピーをバックアップする前にバックアップすることをお勧めします)。

1 つの警告: 作業コピーに混合バージョンまたはコミットされていないプロパティの変更が含まれている場合、その情報は失われます。私にとって、これはよくあることではなく、破損した作業コピーまたはコミットされていないプロパティの変更を失うという選択肢があるため、後者を選択する傾向があります。

于 2011-01-11T18:10:58.550 に答える
1

SVN は通常、実際のファイルがリポジトリから取得される前に、フォルダー内のファイルの内部構造 (.svn/prop-base) を更新します。ファイルがフェッチされると、これはクリアされます。「更新」が失敗したか、更新の進行中に途中でキャンセルされたために、エラーがスローされることがよくあります。

  1. ファイルが .svn/prop-base ディレクトリの下にリストされていることを確認します
  2. フォルダの下にないファイルをすべて削除します
  3. 掃除
  4. アップデート

これで更新が機能するはずです。

于 2009-03-02T22:18:15.543 に答える
0

今日、私は上記の問題を経験しました

svn: 'svn cleanup' を実行してロックを削除します (詳細については 'svn help cleanup' と入力してください)

そして、これが私の解決策です。

  1. 変更をコミットしようとしていた場所から、Xcode IDE を閉じました。
  2. Mac の場合 --> ターミナルに移動 --> 以下のコマンドを入力

svn cleanup <Dir path of my SVN project code>

例:

svn cleanup /Users/Ramdhan/SVN_Repo/ProjectName

  1. Enter キーを押して、クリーンアップが完了するまで待ちます。
  2. XCode IDE に移動し、プロジェクトをクリーンアップしてビルドします
  3. これで、すべての変更をコミットし、更新も行うことができます。

これが役立つことを願っています。

于 2015-07-31T13:15:06.517 に答える
0

私はこれが本当に古いスレッドであることを知っていますが、私はそれを維持します:

これを修正する最も簡単で安全な方法は、非表示の「.svn」フォルダを削除して、すべてをもう一度チェックアウトすることです。

ヘッド リビジョンを再度チェックアウトするときに、svn のねじ込みがローカルの変更 (「競合」としてマーク) を保持する必要がある場合のほとんどの問題を修正します。

于 2013-04-10T16:18:01.373 に答える
0

update回答で見たことがないこの問題の理由の 1 つはcheckout、たとえば$sudo.

于 2016-04-04T15:20:00.510 に答える
0

この問題を解決するには、クリーンアップだけでは不十分な場合があります。

TortoiseSVN v1.7.2 以降を使用している場合は、ロックされたファイルの親ディレクトリを右クリックし、メニューから TortoiseSVN -> Repo Browser を選択します。Repro Browser GUI で、ロックされているファイルを右クリックすると、ロックを解除するオプションが表示されます。

于 2013-05-17T19:38:14.723 に答える
0

最初に多くの解決策を試してから、問題が発生したフォルダーを削除しました。

そして、SVN Updateを実行しました。

それは私のために働いた。

お勧めしませんが、これ以外は何も機能しませんでした。:(

于 2016-04-22T12:26:29.573 に答える
0

私も同じ問題を抱えていました。最新版では修正されているようです。Tortoise SVN最新バージョン (1.7.11) に更新したところ、問題なく動作しclean upました。

ここから最新バージョンをダウンロードできます:ダウンロード tortoise svn

于 2013-04-03T08:36:25.313 に答える
0

ディレクトリのアクセス許可を更新する (書き込みアクセスを許可する) と、問題も解決します。

chmod +w <dir_name>
于 2012-05-10T15:25:12.093 に答える
0

ルートディレクトリにファイルがあり、それがめちゃくちゃでした。(ロック ファイルがない、svn のクリーンアップに失敗したなど) 私のチェックアウト全体は 2GB を超えており、ネットワーク速度が遅いため、すべてをもう一度チェックアウトすることは私にとって良い選択肢ではありませんでした。

私のために働いたもの:

  1. めちゃめちゃな作業コピー (#1) の元に戻された & 元に戻された変更。
  2. --depth empty でリポジトリの別のコピー (#2) をチェックアウトしました
  3. 新しい作業コピーにファイルを追加してコミットしました (#2)。
  4. 元の作業コピー (#1) で更新されました。

私にとっては正常に戻ったようです。

于 2011-02-11T03:45:16.560 に答える
0

@チャックの解決策は私にとって実用的ではありませんでした。初めて問題が発生したときは、うまくいきましたが、多くの余分な作業も必要でした。2 番目のケースでは、ネットワーク外でノートブックを使用しているときに、ファイルの負荷を変更しました。ファイルが変更された後、自分がフォルダーごとに移動するのを見ることができませんでした。カメに希望を持って働いていました。方法を見る:

以前の環境:

  1. ビジュアル スタジオ 2008
  2. アンフスヴン

手順:

  1. 最初はコミットできませんでした。クリーンアップする必要があると言われました
  2. 次に、クリーンアップできませんでした。svn の外に「bin」というフォルダーがありました。
  3. Tortoise の最新バージョンをダウンロードして試してみましたが、ダム フォルダーが原因で動作しません。
  4. そのフォルダーの名前を変更すると、ローカルリポジトリを最新のバージョンで更新できるようになりました。
  5. いくつかのファイルが入ってきました。
  6. コミットして動作しました。
于 2010-10-22T01:12:22.930 に答える
0

手順 :

  1. svn フォルダーからすべての編集ファイルを閉じます

  2. svn ディレクトリのフォルダーまたはファイルを使用している Eclipse またはエディターを閉じます。

  3. svn チェックアウト フォルダを右クリックし、ロックの解除をクリックします。

  4. svn チェックアウト フォルダを右クリックし、[クリーン] をクリックします。

  5. SVN は、SVN コミットおよび更新操作の準備ができています。

乾杯 :)

于 2014-01-07T05:45:37.480 に答える
-1

Spotlight は、ロック ファイルを再帰的に見つけるという点で、いつものゴミの自己です。

Mac App Store での EasyFind の動作

http://itunes.apple.com/gb/app/easyfind/id411673888?mt=12

「ロック」で検索

全選択・削除

于 2012-02-23T15:51:13.590 に答える
-4

私はそれがあなたのためにうまく働いていると確信しています

最上位の SVN フォルダーに移動します。

フォルダー(svnファイルがある)を右クリック-> TortoiseSVN->クリーンアップ

これはきっとあなたの問題を解決します。

于 2014-07-23T04:32:56.533 に答える