web-dev-qa-db-ja.com

SVNエラー: '1'から '3'の間で予期されるfs形式。フォーマット「4」が見つかりました

これが私がやったことです、私はsvnserveをサービスとしてインストールしましたnet start svn serviceコマンドでそれを開始しました。 svn ls svn:// localhostと入力してサービスをテストしましたが、この投稿のタイトルに記載されているエラーが返されました。

コンピュータにsvn --versionsvnserve --versionを入力して、バージョン番号を確認しました。クライアントとサーバーのバージョンは同じで、バージョン1.5.6です。サーバーとクライアントのバージョンが異なるためにエラーが表示されると思います。

Cmdでsvnserve --daemon --rootコマンドを使用してサーバーを起動しても、エラーが引き続き表示されます。

エラーが表示されるのはなぜですか?ありがとう

20
Jarvis

リポジトリの作成に使用したSubversonツールはどれですか。 TortoiseSVN? TortoiseSVNの方が新しい1.6.xリリースである可能性があり、次に1.5コマンドラインクライアントとsvnserveであるため、svnserve 1.5.xは1.6.xリポジトリを提供できません。

Svnadmin 1.6.1で作成したfsfsリポジトリでは、db/formatファイルに

$ cat repos/db/format 
4
layout sharded 1000
13
Blair Zajac

同じ問題がありますが、別の方法で解決しました

問題は主にdb/formatファイルであり、チェックする「2」の最良の方法はファイルをopeすることです。

$ vi db/format 

これを手に入れたら

4
layout sharded 1000

次に、それらを言うように変更する必要があります

2

現在のファイルも確認することをお勧めします

$ vi db/current

あなただけがこれを手に入れます(例えば0は改訂番号0を意味します)

0

次に、それらをただ言うように変更する必要があります(たとえば、0はリビジョン番号に「nx」と「2」を追加することを意味します)

0 nx 2

最後に、revsとrevpropsのディレクトリ構造が分割されているか、または次のようになっているかどうかも確認します。

db/revs/0/0

それを非フォルダー構造に変更する

db/revs/0

注:リビジョンファイル(例:0)はrevsディレクトリ内にあり、他のフォルダーは存在しないはずです

同じことがrevpropsの変更にも当てはまります

db/revprops/0/0

db/revprops/0
7
Gerard Banasig

古いリポジトリを削除し、コマンドラインを使用して新しいリポジトリを作成します-> svnadmin create C:\ SvnRepository

*古いリポジトリは、フォルダを右クリックして[ここにリポジトリを作成]をクリックして作成されました

2
mark

Zend Studioの最新バージョン(8.x)には、フォーマット4の検索に関して同じエラーが発生するSVNツールがありますが、フォーマット1〜3が必要です。 CollabNet SVNを使用してリポジトリを作成しましたが(約1年前)、Zend Studio内からリポジトリを開くことができませんでした。

最善の解決策(少なくともZend Studioで作業し、それとは戦いたくない場合)は、古いバージョンのSVNでリポジトリを再作成することです。 SVN 1.3 for WindowsのURLは次のとおりです。

http://Subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe

これをインストールした後、CollabNet SVN(デフォルトのインストールディレクトリはc:/ csvn)がすでにインストールされている場合は、新しくインストールされたバージョン1.3ディレクトリでsvnadmin.exeとsvn.exeを実行していることを確認してください。

1
Stefan Musarra

SVN 1.5.5(のCollabnetインストール)をインストールしましたが、TortoiseSVN 1.6.1で問題なく動作していました。 SVNを1.6.2にアップグレードした後、Tracを介してアクセスしようとすると、同じエラー(「1」と「3」の間の予想されるfs形式、「4」が見つかりました)が発生します。これはブレアの答えに信頼性を与えます。再度実行する方法をお知らせします。

更新:ブレアの答えも私にとってうまくいきました:メッセージは古いバージョンのSVNがリポジトリにアクセスしようとしているので、それを見つけて削除します。具体的には、Tracを使用したときにのみエラーが発生するため、最新のインストーラーを使用してWindows( http://trac.edgewall.org/wiki/TracOnWindows )にTracを再インストールしました。 (svn-python-1.6.1.win32-py2.5.exe)を見つけ、Python site-packagesフォルダーから古い卵を削除しました。再起動して再同期した後、再び走る。

1
Lachlan

まあ私も同じ問題に直面しています。作成したsvnリモートフォルダーを開くだけです。あなたのdbフォルダにはフォーマットファイルがあります。いいえを交換してください。 1.が機能しない場合は、2と3を試してください。

0
Priya

サーバーのSubversionを更新することでこれを修正できました。また、dbファイルの調整も行いました。次に、すべてのバックアップを上書きとしてサーバーにプッシュしました。私は実際に(Windowsで)ローカルでチェックアウトし、そのリポジトリを作成するときに生成されたファイルを作成し、dbを編集してから、すべてのファイルを取得してサーバー上のSVNにプッシュしました。

それはトリックをしたようです。

0
TerabyteHosting

ありがとう、ジョー。 CollabNet SVNサーバーとVisualSVNの両方をインストールしていて、(リポジトリの作成に使用していた)VisualSVNに付属しているバージョンのsvnadminを使用していることを確認するまでエラーが発生しました。

0
user139198

正しいsvnadminを使用していることを確認してください。たとえば、VisualSVNをインストールした場合、インストールディレクトリのbinフォルダーにあるsvnadminを使用する必要があります。コマンドラインバージョンのSVNをインストールしました...このバージョンのsvnadminツールを使用すると、同じエラーが発生しました。

0
joe

VisualSVNサーバーを使用している場合は、コマンドが次のようになっていることを確認してください

サンプルコマンド:C:\ Program Files\VisualSVN Server\bin> svnadmin dump c:\ repo> c:\ backup\svnbacku p.dump