3

Apache をフロントエンドとして使用する Subversion サーバーがあります。VirtualHost セクションでカスタム ログを有効にしました。

CustomLog /var/log/svn/webdav.log "%t %u repo:%{SVN-REPOS-NAME}e action:%{SVN-ACTION}e (%B Bytes in %T Sec)" env=SVN-ACTION

SVN クライアントを使用すると、webdav.log で次の操作を確認できます。

action:checkout-or-export
action:commit

しかし、Web ブラウザを使用してリポジトリを参照すると、何もログに記録されません。また、アクセス ログには、?p=revision_number を介して正確なリビジョンを要求しても、標準の GET 要求しかありません (つまり、dav_svn Apache モジュールを確実に扱っているということです)。

なぜそれが起こっているのですか?svn-client とプレーンなブラウザの動作の違いは何ですか?

4

1 に答える 1

2

SVN クライアントは WebDAV をサーバーに送信します。彼は PROPFIND、PROPGET などのメッセージを送信して、SVN リポジトリから多くの情報を取得します: 最終変更リビジョン、最終作成者など。

ブラウザは GET-HTTP コマンドを要求しているだけです。これは厳密に言えば、実際の SVN アクションではありません。リポジトリの一部を見ているだけです。単一のファイルをダウンロードするか、ディレクトリを一覧表示できます。しかし、SVN に関して意味のあることは何もできません。

それに対応するSVNアクションがないため、これはログファイルには入りません。

于 2012-09-21T09:56:35.287 に答える