2

次のように、apache2.conf ファイルで宣言された hgweb.cgi スクリプトを使用して、Apache Web サーバーにリポジトリをセットアップしました。

ScriptAlias /hgp "/var/www/hgrepublic/hgweb.cgi"

私の hgweb.cgi スクリプトで、config 変数をリポジトリへのパスとして設定すると、次のようになります。

config = "/var/www/hgrepublic/fakecake"

それは機能し、 http://localhost/hgpにリポジトリの履歴が表示されます

hgweb.config ファイルを使用する場合は、hgweb.cgi スクリプトで構成変数を次のように設定します。

config = "hgweb.config"

構成ファイルで使用しようとしているパスが何であれ、Web インターフェイスに自分のリポジトリが表示されません (空のリポジトリ インデックス)。絶対パスと相対パスで試したいくつかの例を次に示します

[paths]
/ = /var/www/hgrepublic/**
fakecake = /fakecake
fakecake = /var/www/hgrepublic/fakecake

構成ファイルで動作させるのに役立つアイデアはありますか? (構成ファイルで宣言されたいくつかのリポジトリが必要です)

注: hgweb の cgi ファイルと構成ファイルは、/var/www/hgrepublic/ フォルダーと、fakecake リポジトリ フォルダーにあります。

4

2 に答える 2

1

ソースを見て、自分の質問に対する解決策を見つけました。

hgweb.cgi ファイルで dict を使用して、表示するさまざまなリポジトリを渡しました。

config = {'repo1' : '/path/to/repo1', 'repo2' : '/path/to/repo2'}

このように動作するので、hgweb.config ファイルの [paths] セクションの解析に問題があるのではないでしょうか?

于 2011-09-01T14:31:14.993 に答える
0

この[paths]セクションは、URL をリポジトリ パスに変換します。試す:

hgweb.config

[paths]
/hpg/fakecake = /var/www/hgrepublic/fakecake
/hpg/repo2 = /var/www/hgrepublic/repo2

hgweb.cgi

config = "hgweb.cgi"  # or /path/to/hgweb.cgi if not in cwd
于 2016-10-18T06:53:01.020 に答える