web-dev-qa-db-ja.com

.svn / text-base / file.svn-baseを開けませんか?

TortoiseSVNを使用しています。私は作業コピーにかなりの数の変更を加えただけで、いくつかのファイルはコミットしましたが、Search.aspx.csという名前のファイルでは

Commit failed (details follow):
Can't open file 
'C:\-----\trunk\.svn\text-base\Search.aspx.cs.svn-base': 
The system cannot find the file specified.

SVNの更新とSVNのクリーンアップを試みましたが、このファイルを復元するものはありません。差分ファイルを作成することもできません。ファイルが欠落していることについて同様のエラーが発生するためです。どうすれば修正できますか?私はそれを引き起こすために何をしましたか?

60
Earlz

これはあなたの状況に対する可能な答えのように思えますか?

http://www.uwplatt.edu/csse/tools/Subversion/subversion-help.html から)

"ファイル '(name here)'の追加に失敗しました:同じ名前のオブジェクトが既に存在します。

または

"ファイル 'folder.svn\tmp\text-base\file.svn-base'を開けません:指定されたファイルが見つかりません。"

両方とも、同じフォルダー内の2つのファイルが大文字を除いて同じ名前を持つことを意味します。たとえば、「Readme.txt」と「README.TXT」。 UnixとSubversionでは大文字と小文字が区別されるため、ファイルは完全に無関係であると見なされます。しかし、Windowsでは大文字と小文字が区別されないため、Readme.txtの上にあるREADME.TXT(たとえば)を更新しようとすると、壊れます。

問題を解決する最も確実な方法は、Unixシステム(io.uwplatt.eduなど)にログインし、Unixノートを使用してリポジトリをチェックアウトすることです。その後、svn mvコマンドを使用して、いずれかのファイルの名前を変更できます。リポジトリにファイルを追加しようとしている場合は、TortoiseSVN-> Rename ...を使用して既存のファイルの名前を完全に異なるものに変更してから更新してみてください。 TortoiseSVNの名前変更コマンドを使用する必要があることに注意してください。 Windowsエクスプローラでファイルの名前を変更するだけでは、問題は解決しません。

この同じエラーが発生し、Tortoise SVNのレポジトリブラウザーを使用して、リポジトリ内に大文字/小文字のみが異なる同じ名前の2つのファイルがあることを確認できました。また、ファイルの1つを削除することにより、リポジトリブラウザーからこの問題を修正できます(最初にリポジトリブラウザーからdiffを実行して、必要なものがあることを確認できます)。

77
pettys

作業ファイルをコピーできます:C:-----\trunk\Search.aspx.cs

不足しているもの:C:-----\trunk.svn\text-base\Search.aspx.cs.svn-base

そして、それはトリックを行います。

10
Dmitry Yakhnov

こんにちは、今日も同様の問題に直面しています。

ファイル.svn\pristine\24\24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-baseが見つかりませんそして、この問題を修正する簡単な方法を使用します。

最初にこのプロジェクトのコピーフォルダを削除してから、このファイルがそのフォルダの下に存在しなかったので、他のファイルからsvn-baseをコピーし、24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-baseに名前を変更します。そしてクリーンアップを行います操作。その後、別のファイルが見つかりません。同じ方法を使用して、最後にこの問題を修正します。それがあなたを助けることができることを願っています

言い換えれば、解決策は欠落しているファイル名で新しいsvn-baseファイルを作成するです

6
chunguiw

notが異なる大文字/小文字の同じファイル名に関連する同じ問題を抱えている人のためにこれを投稿する:

何が原因かわかりませんが、この修正はうまくいきました:

  • 問題のセクションを新しい一時的な場所にチェックアウトします
  • バックアップして(これが失敗した場合)、メインの場所にある.svnフォルダーを削除します
  • メインの場所の.svnフォルダーをtempの場所のフォルダーに置き換えます
  • コミット

これは私のために働いた。変更したファイルは1つだけでした。どういうわけか、.svnフォルダーが破損しました。これを行う前に、作業をバックアップしてください。

5
Xonatron

同様の問題がありました。「(ファイル 'folder.svn\tmp\text-base\file.svn-base'を開けません:システムは指定されたファイルを見つけることができません」))。」

大文字と小文字の区別の問題ではありません。しかし、ファイルパスが長すぎたためです。そのため、フォルダの名前を短い名前に変更し、Cドライブ内に移動して正常にチェックインしました。

したがって、大文字と小文字が区別されない場合は、ファイルへのフルパスの長さにも注意してください。

2
pashups

私にとって問題は:大文字と小文字を区別する

linuxでのsvnリポジトリのコミット:大文字小文字を除いて同じ名前の2つのファイルWindowsでのsvnリポジトリの更新:更新またはチェックアウト中のエラー=>システムは指定されたファイルを見つけることができません。

2
Peon

空の.svn/tmpフォルダー(およびHD上の他のすべての空のフォルダー)を誤って消去した後に、この問題が発生しました。空の.svn/tmpフォルダーを復元することを除いて、上記の解決策はどれも役立ちませんでした(すべての.svnフォルダーに対して)。

1
adams

作業コピーが破損しているようです-Search.aspx.csのSVNベースファイルがありません。

このような状況で別のディレクトリで別のチェックアウトを行って、ベースに新しい作業コピーを作成し、変更した作業コピーをエクスポートし、エクスポートを新しい作業コピーにコピーするために行うこと。

0
codekaizen

残りの変更は大丈夫ですか?

問題のあるファイルを脇にコピーした場合は、ディレクトリを強制終了し、新しいコピーをチェックアウトして、ファイルを追加し直します

0
mfeingold

解決策(SVNディレクトリが破損している場合、クリーンアップなどが機能しない)

  1. バックアップ(ディレクトリ名の変更)
  2. もう一度チェックアウト
  3. 新しいディレクトリの名前を変更
  4. 古いディレクトリの名前を古い名前に戻す
  5. 再度コミットしてみてください(必要に応じて少しずつ)
  6. エラーが発生したときはいつでも、問題のSVNファイルを新しいディレクトリから破損したソースにコピーします
  7. 幸せになるまで繰り返します;)
0

TSVNが同じエラーをトリガーしたため、ここに再度チェックインしました。

私の場合、対応するディレクトリの単純な「クリーンアップ」が役立ちました。

0
Robert