複数のリポジトリをホストするように設定された 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