3

次のような Subversion リポジトリにアクセスするように Apache をセットアップしようとしています。

  • リポジトリ コレクションを使用します。つまり、リポジトリSVNParentPathを含むフォルダを指します。
  • SVNMasterURI透過的にコミットをマスター サーバーにプロキシするために使用します。

私の最初の試みは次のようなものでした:

<Location "/collection">
    DAV svn
    SVNParentPath /path/to/collection
    SVNMasterURI http://master/collection
    SVNListParentPath on
    AuthzForceUsernameCase Lower
    AuthzSVNAccessFile /path/to/access-file
</Location>

この構成では、透過プロキシ コミットが意図したとおりに機能します。ただし、参照しようとするhttp://svn-server/collection/403 Forbidden、エラー ログにThe URI does not contain the name of a repository..

ここでは末尾のスラッシュLocationが非常に重要であるように思われるため、末尾のスラッシュのすべての組み合わせを onで試したところSVNParentPath、次のSVNMasterURIことがわかりました。

  • forSVNListParentPathが機能するにLocationは、末尾にスラッシュが必要です。
  • forSVNMasterURIが機能するには、末尾にスラッシュがあってはLocationなりません。

これはすべて、Ubuntu 12.04、Apache 2.2.22、mod_dav_svn 1.6.17dfsg-3ubuntu3 上にあります。

私の質問は:

同時に使用する方法はありSVNListParentPathますか?SVNMasterURI

4

1 に答える 1

2

それが可能な場合は、Subversion と mod_dav_svn をバージョン 1.8.10 以降にアップグレードしてください。当面の間、「末尾のスラッシュのバグ」は修正され、SVNListParentPath は で正常に動作し<location /collection>ます。

SVNMasterURI が非常に敏感であることを確認できます<location>。パスがマスターとスレーブのリポジトリで同じであることを確認してください。

于 2014-10-19T22:00:29.880 に答える