1

複数のリポジトリをホストするように設定された SVNSERVE サーバーがあります。

ここで短い質問

私の質問は本当にこれです: 私はリポジトリの外のメインディレクトリに authz、passwd、および svnserve.conf を持っています。

ただし、TeamCity を使用しているときにエラーが発生したため、各リポジトリにもこれらのファイルの独自のセットがあることがわかりましたが、その内容はほとんど完全に空です。関連するメイン構成ファイルの一部を各リポジトリに複製する必要がありますか?


暫定的な解決策

結局、以下にリンクした Web ページ (このページ) は正しかったようです。リポジトリ ローカル ファイルを編集し、svnserve.conf次の 1 行を追加します。

anon-access=none

それはうまくいくようです。それも私がやったことのすべてであることに注意してください。メイン、グローバル、リポジトリ外のsvnserve.confファイルおよび関連ファイルには、すべての関連情報が含まれているように見えます。ここでの変更は、リポジトリへのユーザー アクセスを引き続き許可または拒否しますが、その行を追加すると、TeamCity は文句を言わなくなります。

行を再度削除した後、まだ失敗するかどうかを確認するために、今すぐ制御テストを実行します。


ここから長い話

ディレクトリ構造は次のようになります。

E:
 +-- Repositories
     +-- LVK
     +-- PrivateProjects
     +-- ExternalProjects
     +-- XYZ
     +-- etc.

現在、Repositories ディレクトリに次のファイルがあります (ファイルの内容は以下のとおりです)。

svnserve.conf
authz
passwd

svnserve.conf は次のようになります。

[general]
password-db=passwd
authz-db=authz
realm=VKarlsen Subversion Server
anon-access=read
auth-access=write

authz は次のようになります。

[/]
lassevk=rw
*=r

[LVK:/]
lassevk=rw
*=r

[PresentationMode:/]
lassevk=rw
*=

および他のいくつかのリポジトリなど。

そして passwd は次のようになります (明らかに正しいパスワードではありません):

[users]
lassevk=MYSECRETPASSWORD

さて、私が疑問に思っているのは、TeamCity が「ルート 'svn://localhost/PrivateProjects/VS.NET/LVK_ReleaseScript' #2: svn: ルートを開く権限がありません。編集操作の」。

このページはこちらで見つかりましたが、svnserve.conf ファイルに次の内容があることを確認するように指示されています。

anon-access=none

ただし、anon-access=readファイルにはありますが、私の質問は実際には次のとおりです。各リポジトリには、上記とまったく同じファイルを含む conf サブディレクトリもありますが、内容は同じではありません。実際、Realm の値をメインの svnserve.conf ファイルと同じに設定する以外は、ファイルは完全に空です。

これは正しいです?関連する断片をメインの svnserve.conf ファイルから各リポジトリの構成ファイルに複製する必要がありますか?

たとえば、LVK リポジトリにある 3 つのファイルの内容は次のとおりです。

認証:

[groups]

[/]

パスワード:

[users]

svnserve.conf:

[general]
realm = VKarlsen Subversion Server
4

1 に答える 1

1

svnserve.conf私はいつも、少なくとも各リポジトリのサブディレクトリ内にある必要があると思っていましたconf/(SVNは他の場所でそれを探すことを自動的に知らないため)。これが私が自分のリポジトリで使用する設定です。それぞれに独自のコピーがありますが、グローバルとはsvnserve.conf1つしかなく、すべてのファイルが絶対パスで参照します。passwdauthzsvnserve.conf

于 2009-04-26T20:18:42.347 に答える