126

Subversionからいくつかのファイルを更新しようとすると、次のエラーが発生します。

org.tigris.subversion.javahl.ClientException: 
Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'

なぜ私はこれを手に入れるのですか?どうすれば修正できますか?

4

16 に答える 16

212

SVN 1.7以降を使用している場合は、ここで説明されている回避策があります。

要約すると:

  1. 問題の原因となっているファイルのあるフォルダに移動します
  2. コマンドを実行svn update --set-depth emptyします(注:これによりファイルが削除されるため、最初にコピーを作成してください!)
  3. コマンドを実行するsvn update --set-depth infinity
于 2012-07-06T14:43:55.307 に答える
69

これを修正する最も簡単な方法は(変更があまりない場合)、変更を別のディレクトリにコピーし、プロジェクトがチェックアウトされているディレクトリを削除して、プロジェクトを再度チェックアウトすることです。

次に、変更をコピーして戻し(.svnフォルダーはコピーしないでください)、コミットして続行します。

于 2012-04-27T15:05:31.247 に答える
6

この問題を解決する簡単な方法を見つけました。これをEclipseから直接行うことはできません。手順:

  1. Windows でワークスペース フォルダー構造に移動する
  2. フォルダの名前を変更する
  3. 日食でリフレッシュ
  4. これで、フォルダーとファイルが Eclipse のプロジェクトから削除され、名前が変更された新しいフォルダーの下に表示されます
  5. 次に、「リポジトリと同期」オプションを試してください。

これにより、テキストベースフォルダーが .svnfolder に復元されます。更新エラー中のチェックサムの不一致は、それ以上表示されません。

于 2013-10-07T13:17:32.697 に答える
1

これは、Eclipse プラグインを使用して同期しているときに発生しました。問題の原因となっているファイルには、ローカルでの変更はありませんでした (実際、前回の更新以降、リモートでの変更はありませんでした)。ファイルに他の変更を加えずに、ファイルに「元に戻す」を選択すると、通常の状態に戻りました。

于 2013-12-16T19:30:59.673 に答える
1

一緒に働いている同僚がいる場合:

1) 問題を引き起こしているファイルの名前を変更するよう彼に依頼し、commit

2)あなたupdate(別の名前の無効なチェックサムを持つファイルが表示されます)

3) 名前を元の名前に戻します

4) (そして、ファイル名を初期状態に戻すcommitように同僚に依頼します)update

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

于 2016-07-21T12:18:26.193 に答える
1

同じエラーが発生しましたが、1 つのファイルに対してです。IntelliJ IDEA では、ファイルのコピーを作成し、プロジェクトに移動して問題のファイルを削除し、正常にコミットすることができました。次に、同じ名前の新しいファイルを作成し、内容をコピーして戻します。リビジョン履歴が失われると思いますが、機能します。

于 2013-12-30T18:42:05.617 に答える
1

同様のエラーが発生し、次のように修正しました。

(私の「修正」は、サブバージョンが内部でどのように機能するかについてあまり知らないため、正しい場合とそうでない場合があるという仮定に基づいていますが、私にとっては間違いなく機能しました)

.svn\text-base\import.php.svn-base が最新のコミットと一致すると想定しています。

エラーが発生したファイルを確認したところ、ベース ファイルがリポジトリ内の最新のコミットと一致しませんでした。

最新のコミットからテキストをコピーし、それを .svn フォルダーに保存して、間違ったファイルを置き換えました (私の仮定が間違っていた場合に備えてバックアップ コピーを作成しました)。(ファイルは読み取り専用とマークされていました。そのフラグをクリアし、上書きして読み取り専用に戻しました)

その後、正常にコミットできました。

于 2016-03-03T21:34:32.610 に答える
0

サーバーで同様の問題がありましたが、SVNディレクトリが非常に大きく、削除して再同期したくないため、ファイルのコピーをローカルに作成してから削除しました. 更新が成功し、ファイルが追加されたとき。

于 2015-09-24T00:12:50.220 に答える
0

ファイルを削除して、.svn ディレクトリの下のファイル エントリからファイル参照を削除してみてください。

于 2015-10-21T15:33:27.123 に答える