37

Subversion の変更をファイルにコミットしようとしています。このファイルは、外部経由で私のプロジェクトにリンクされているディレクトリに属し、特定のリビジョンに固定されています。

コミットすると、次のエラーが表示されます。

Commit failed
Base checksum mismatch on....

ディレクトリをもう一度チェックアウトしてクリーンであることを確認し、再度コミットを実行しようとしましたが、それでも同じエラーが発生します。

ペグされたファイルへのコミットに関連している可能性はありますか? ペグされたファイルへのコミットは可能であり、本質的にこのコードから分岐すると思いましたか?

4

15 に答える 15

51

方法は私のために働いた:

  1. 問題のあるファイルのコピーを作成します。
  2. 元に戻す。
  3. アンバージョンし、アイテムを無視するように追加します。
  4. 専念。
  5. 無視されたファイルをコピーから上書きします。
  6. ファイルを SVN に追加します。
  7. 専念。
于 2014-02-28T13:47:12.240 に答える
11

プロジェクト内のすべてのファイルを一時バックアップ フォルダーにコピーします。元のプロジェクト フォルダーで [元に戻す] をクリックします。変更されたファイルをバックアップ フォルダーと比較し、変更されたファイルを元のプロジェクト フォルダーにコピーします。コミットすると、元のフォルダーが正常に戻ります。

2 つのプロジェクトで同じ問題が発生し、その方法が機能しました。

于 2013-02-03T21:55:25.073 に答える
6

私にとって最も効果的な方法は次のとおりです。

  1. コミットしないフォルダー全体のエクスポートを行う (たとえば、Tortoise を使用)
  2. 現在SVNにあるフォルダーを削除します(SVNクライアントも使用)
  3. すべてをエクスポートしたフォルダーを、以前に削除したフォルダーと同じ場所に、できれば同じ名前で配置します
  4. フォルダーを追加してコミットする
  5. 変更を失うことなく、間違ったチェックサムもなく元の場所に戻りました!
于 2013-04-29T15:56:14.890 に答える
2

これは私がしました。

  1. ワークスペースの .svn フォルダーを削除しました。
  2. プロジェクトを新しい一時フォルダーにチェックアウトしました
  3. 新しい一時フォルダーから .svn フォルダーをコピーしました
  4. .svn フォルダーをワークスペースに貼り付けました。
  5. 問題なくコミットされます。
  6. 一時フォルダを削除します。
于 2020-09-08T14:33:43.067 に答える
1

同じ問題が発生したばかりで、コンソールクライアントを使用して対処しました:

  1. バックアップファイル
  2. svn rm filename でリポジトリからファイルを削除
  3. コミットする
  4. svn add filename を使用してバックアップからファイルをコピーします
  5. コミットする
于 2016-05-19T13:39:08.840 に答える
0

私のために働いたもの:

  1. ファイルの現在のバージョンのコピーを作成します。
  2. svn rm 'ファイル名'
  3. svnci
  4. ファイル名を元に戻す
  5. svn add 'ファイル名'
  6. svnci

この後、コミットと更新は正しく機能しているようです。

于 2015-05-20T10:03:31.177 に答える
0

作業コピーが破損している可能性があります。SmartSVN (変更 | 管理領域の検証を選択) で修復を試みることができます。これが役に立たない場合は、新しいチェックアウトだけが役に立ちます。

于 2012-06-28T08:50:10.883 に答える