1

pysvn を使用し、ローカル リポジトリから取得したローカル コピーをチェックアウトまたは更新する python スクリプトがあります。

client.checkout(url, 
path,
revision=pysvn.Revision(pysvn.opt_revision_kind.number, RevNumber),
ignore_externals=False)

Subversion をインストールしていない Windows マシンでこれを実行しています。実際のリポジトリのコピーを取得するために使用される svnsync は、別のマシンで実行されました。これにより、svnsync の結果を含むフォルダーからチェックアウトまたは更新できるようにするために、PySVN に SVN をインストールする必要はないと想定しました。

Windows では、一部のリポジトリに小文字バージョンと大文字と小文字が混在するバージョンのファイルがある場合に問題が発生します。大文字と小文字が異なる 2 つのファイルを更新または作成すると、Windows でエラーが発生するため、Ubuntu にジャンプしてスクリプトを実行しました。

Ubuntu では、pysvn でスクリプトを実行すると次のエラーが発生します。

pysvn._pysvn_2_6.ClientError: Unable to open an ra_local session to URL
Unable to open repository xxxx
Expected FS format between '1' and '3'; found '4'

いくつかの検索の後、これはsvn 1.6に関連するエラーメッセージのようですが、pysvnはおそらくそれをサポートしてsudo apt-get install python-svnおり、最新バージョンを持っていることを教えてくれます...

それで、これはSVNまたはpySVNのせいですか?Windows pysvn が文句を言わないのに、Ubuntu が文句を言うのはなぜですか? それとも、マシンにsvnがあるかどうかに関係していますか?

これを理解することは、本質的に同じトピックに関する私の以前の投稿に答えるのに役立ちます

4

1 に答える 1

1

これは、Ubuntuが古いバージョンのSVNAPIを使用してリポジトリにアクセスしているためです。

明らかに新しいバージョンを使用しているため、Windows1は問題ありません。

PySVNダウンロードページによると:

Windowsバイナリキット

注:これらのWindowsキットは必要なものすべてです。Subversionキットをインストールする必要はありません。

MacOSXバイナリキット

注:必要なのはこれらのMacOSXキットだけです。Subversionキットをインストールする必要はありません。

しかし、来てください

Linuxバイナリキット

Subversionを必要としないことについては何も言及されていません。私の推測では、PySVN linuxにはサブバージョンが必要であるため、1.5.xのみを使用しています。

これに加えて、それは言うだけです

Subversion1.5.6およびSubversion1.6.5に対して構築されています

LinuxではなくWindowsおよびMacOSX用

新しいリポジトリ形式をサポートするSVNクライアントをUbuntuにインストールする必要があります。明らかに、PySVNのNixバージョンが更新されるまで待つか、別のSVNツールを見つけることができます...

于 2010-02-04T03:44:55.007 に答える