破損したリポジトリ(集中化された.svnディレクトリがある)を修復する方法は?


19

TortoiseSVNインストールをバージョン1.7.1に最近アップグレードしました。これにより、作業コピーもアップグレードする必要がありました。アップグレードにより、すべての(1つを除く).svnディレクトリがすべてのサブディレクトリから削除され、ルートに1つだけが残りました。

すぐに(もちろん、ウイルス対策ソフトウェアの疑いがある)作業コピーをクリーンアップしようとすると、エラーが発生します。私も何もコミットできません。

クリーンアップ時のエラーメッセージは次のとおりです。

クリーンアップは次のパスの処理に失敗しました:C:\ svn

ファイル 'C:\ svn.svn \ pristine \ 73 \ 73bcc5fa7819f84f56b81dfa0236f0aac7b7d404.svn-base'を開けません:指定されたファイルが見つかりません。

作業コピー内の1つのディレクトリの存在に関連するエラーをトレースしました。名前を変更すると、すべてが機能します。存在する場合、エラーが表示されます。私もそれを削除して、もう一度チェックアウトしました。変更なし、エラーは持続します。

以前のバージョンでは、.svnの損傷を簡単に修復できました。問題のフォルダーを削除して、もう一度チェックアウトするだけです。.svn dirが一元化されたため、これはもうできません。

作業コピーを修復するにはどうすればよいですか?

回答:


21

ファイルを開けません 'C:\ svn.svn \ pristine \ 73 \ 73bcc5fa7819f84f56b81dfa0236f0aac7b7d404.svn-base

私は同様のエラーがあり、実際にそのファイルをメモ帳で作成してからクリーンアップを実行する必要がありました。


1
しかし、それは安全ですか?「svn cleanup」はそのファイルを再び空にしないでしょうか?(それは確かに以前だったので、いいえ?)
hans_meine

この方法が機能することを確認できます。このような空のファイルを作成した結果/損失は
わかり

4

空のファイルを作成する代わりに(あえてしませんでした)、影響を受けるディレクトリ(同じリビジョンを指定)だけを一時的に新鮮なチェックアウトし、新しい.svnサブフォルダから壊れた作業ディレクトリのファイルに不足しているファイルをコピーしました。

これをさらに説明するために、私の場合、svnファイルについて不満がありました.svn/pristine/d1/d12a84ef7be5dad86b76e1a45fc3da4698d38796.svn-base。これは、新しい部分チェックアウトで見つかるパスです。


3

古いバージョンからTortoise SVN 1.7.7にアップグレードした後も同じ問題が発生しました。

他の解決策が見つからなかったため、ローカルの作業コピーを削除し、再度チェックアウトしました。現在は正常に動作しています。


2

マージを中止したときに問題が発生しました。SVNアクションを実行できませんでした。SVNクリーンアップを実行すると、指定されたファイルが見つからないというエラーが発生し、クリーンアップに失敗しました。

指定されたフォルダーにその正確な名前のダミーファイルを作成し、SVNクリーンを実行しました。

その後、私は進むことができました。


0

ファイルC:\working_copy\dir\file.xmlが見つからないと言っていた同様の問題がありました。dirディレクトリを削除しました。私の場合、新しいdirフォルダーとfile.xmlファイル(空のテキスト)を追加するだけでクリーンアップを続行でき、作業コピーを適切に再更新できました。


0

私の問題は、スクラッチリポジトリからチェックアウトする場合、IDE内のすべてのプロジェクトを再構成する必要があり、変更の保存を気にしないことでした。

同じディレクトリ内の.svnディレクトリとチェックアウトリポジトリを削除しました。

問題は解決しました:すべてのsvn操作を行うことができ、プロジェクトはまだIDEで構成されました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.