Você deve certamente configurar o hgweb para servir o repositório em vez de descarregar os arquivos brutos.
Publishing Repositories e HGWeb Step-by-Step artigos wiki aborda isso em profundidade, mas aqui estão os destaques:-
Crie um arquivo hgweb.conf (geralmente em
/usr/local/etc/
ou algo virtual dependente de host em ambientes com vários usuários).[paths] myproject = /var/hg/repos/myproject [web] allow_archive = gz contact = Some Name <[email protected]>
-
Copie o arquivo hgweb.cgi do diretório de instalação para o diretório cgi-bin. Mais provável que não:
cp /usr/share/mercurial/www/hgweb.cgi /var/www/cgi-bin/
(Você começa a idéia de qualquer maneira). - Edite o arquivo hgweb.cgi, defina a localização do arquivo de configuração de # 1.
-
Configure o nginx para o fcgi:
location /hg/ { fastcgi_pass 127.0.0.1:9000; include fastcgi_hg; fastcgi_intercept_errors off; limit_except GET HEAD { auth_basic 'Example'; auth_basic_user_file /srv/hg.htpasswd; } }
-
Configure o fcgi include (
fastcgi_hg
) para hg:include fastcgi_params; fastcgi_split_path_info ^(/hg)(.*)$; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user;
- Reinicie o nginx e o Bob é seu tio!