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があるかどうかに関係していますか?
これを理解することは、本質的に同じトピックに関する私の以前の投稿に答えるのに役立ちます