1

Windows 7 で hgsubversion を使用して Subversion リポジトリを Mercurial リポジトリに変換しようとしています。他の多くのエラーを解決した後、間違った Subversion バージョンが使用されているように見えます。

しようとするhg clone file:///C:/source/と、次のエラーが表示されます。

abort: Unable to open an ra_local session to URL
Unable to open repository 'file:///C:/source'
Expected FS format between '1' and '4'; found format '6'

これは、Subversion リポジトリのバージョンが 1.8 以降であることを示しているようですが (実際はそうです)、ローカルの Subversion ツールは古いバージョンです。

そして確かに、次のhg version --svnことを示しています。

Mercurial Distributed SCM (version 2.8)

...

hgsubversion: 691078c03ed9
Subversion: 1.6.16
bindings: SWIG

ただしsvn --version、次のことを示しています。

svn, version 1.8.4 (r1534716)
compiled Oct 28 2013, 05:30:01 on x86_64/x86-microsoft-windows5.1.2600

なぜ hgsubversion は古いバージョンの Subversion が使用されていると報告するのですか? 私の知る限り、Subversion 1.8.4 しかインストールされていません。

それとも、TortoiseHg に付属の SWIG バインディングがバンドルされているためですか? 他のバインディングを試す必要がありますか?

これを機能させようとすることは、これまでのところ本当にイライラする経験でした.

4

1 に答える 1

1

問題は、コンピューターに 2 つの異なる SVN バージョンがあることです。通常のサーバー svn と、hgsubversion にバンドルされているバージョンです。この問題は次の方法で解決できます。

  • SVN サーバーをセットアップする ( Windows サービスとして実行できる svnserve があるはずだと読んだ)、バージョンにとらわれないワイヤ プロトコルによって hgsubversion が SVN リポジトリと通信するようにする
  • svnadmin --pre-1.7-compatibleリポジトリのコンテンツをダンプし、hgsubversion バージョンが読み取れるように、新しく作成されたリポジトリにロードします。これは で作成されます。
于 2013-11-10T09:24:10.133 に答える