web-dev-qa-db-ja.com

SVN-エラー担当リポジトリUUID 'XXX ...'が予期した 'XXX ..'と一致しません

Zend FrameworkのSVNサーバーが昨日ダウンしましたが、それでも戻ってきました。外部の「Zend」ディレクトリからまだエラーが発生しています。別のブランチに更新または切り替えようとすると、常にこのエラーが発生します。

Error     Repository UUID 'XXXX...' doesn't match expected 
Error     UUID 'XXXX...'

UUIDは互いに異なります。

TortoiseSVNクライアントを使用していますが、これはSVNエラーだと思います。

5
gawpertron

Zendのサーバーは使用していませんが、これはSVNエラーです。作業コピーは、最初に作成された元のUUIDのリポジトリに関連付けられています。エラーは、WCが作成されてからサーバーでUUIDが変更されたことを意味します。

これは通常、サーバーでダンプ/ロードサイクルが実行され、リポジトリのUUIDが保持されなかった場合に発生します。

これを解決するには2つの方法があります。クライアント側:

 svn switch --relocate

WCを新しいリポジトリに移動します(私は古いリポジトリであると想定しています)。 Tortoiseには、relocateだけではなく、switchオプションが別にあると思います。

または、サーバー上で:

svnadmin setuuid <repository path> <new uuid>

リポジトリのUUIDを古いものに設定すると、既存のWCが再びそのリポジトリと通信を開始するはずです。 (svn info WCの中に、期待しているUUIDが表示されます。)

前者のオプションは、リポジトリを制御していない場合に必要なものであり、後者は、リポジトリを制御している場合に必要です。 (他のクライアントでも同じ問題が発生します)。

リポジトリUUIDの詳細はこちら: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.uuids

6
SmallClanger

まあそれがダウンしたときに何が起こったかに依存します。 UUIDは異なるため、リポジトリを再作成し、どういうわけかそれは異なるUUIDを与えられたと思います。

基盤となるsvnリポジトリにアクセスできる場合は、リポジトリのUUIDを次のように設定できます。

 svnadmin setuuid REPOS_PATH [NEW_UUID]

それ以外の場合、他の解決策は、新しいリポジトリから新しいチェックアウトを取得することです。

1
Decado