web-dev-qa-db-ja.com

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

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

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

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

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

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

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

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

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

19

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

同様のエラーが発生しただけで、実際にメモ帳でそのファイルを作成する必要があり、その後クリーンアップが機能しました。

21
Dave Storm

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

これをさらに説明するために、私の場合、svnが不平を言ったファイルは.svn/pristine/d1/d12a84ef7be5dad86b76e1a45fc3da4698d38796.svn-base。これは、フレッシュな部分チェックアウトで見つかる正確なパスです。

4
hans_meine

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

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

3
Tomas Chlouba

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

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

その後、続行することができました。

2
user304100

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

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

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

0
Shapoval Sergio

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

0
jevon