web-dev-qa-db-ja.com

「svn:一時ディレクトリが見つかりません:内部エラー」を解決するには?

私はすでにメッセージをグーグルで調べており、SVNサーバーで使用可能なディスク領域が十分あります(150 GBの約4%の使用です)。

SVNサーバーのコマンドプロンプトでecho $TMPDIRを試しても何も表示されないことに気づきました。

これを少し混乱させているのは、svn diffを実行したときに1か所からのみこのメッセージが表示されることです(これまでにテストしました)。他の3台のコンピューター(そのうちの1つはまったく同じリポジトリに対してテストを行い、他の2つは同じsvnサーバー上の異なるリポジトリです。

唯一の違いは、壊れた作業コピーが、他のすべてのサーバーがサーバー名を使用しているIPアドレスでサーバーに接続していることです(ただし、DNSを介して同じIPアドレスに解決されます)。

壊れた作業コピーをスクラッチして新しいものをチェックアウトする必要がないことを願っています。残念ながら、これはレガシープロジェクトであり、すべての変更が適切に改訂されているわけではありません。

10
HorusKol

最終的に、これを行うための方法を考え出しました(現在、適切なバージョン管理下ですべての未修正を取得することも):

  1. 「find」コマンドを使用して、壊れた作業コピーからすべての.svnディレクトリを削除します
  2. 作業コピーを別の場所に移動します
  3. 新しい作業コピーを元の場所にチェックアウトする
  4. 古い/取り除いた作業コピーを新しいコピーに再帰的にコピーします
  5. もう問題ない

その作業コピーの.svnファイルの1つに何らかの破損があったに違いないと思います。

3
HorusKol

disk is fullの場合にもこのエラーが発生します。

スペースをいくらか解放すると、エラーが消えます。

4
Danny Schoemann

問題のあるコンピュータで、手動でそのディレクトリを削除してみてください。コミットはせずに、ローカルマシンでsvnを更新して、そのディレクトリでの変更をやり直してください。これは1つのディレクトリです。これは通常、私と同じようなエラーで機能します。

0
Juan Diego

ここに提供されているスクリプトを実行することで、この問題を修正することができました。

https://svn.Apache.org/repos/asf/Subversion/trunk/contrib/client-side/svn-clean

0
arbitguy