~~NOTOC~~ ====== Serveur de dépôts Mercurial ====== Mise en place de dépôts Mercurial avec accès en écriture utilisant les comptes de DokuWiki. ===== DokuWiki ===== Vérifiez que les mots de passe des utilisateurs sont stockés selon : $conf['passcrypt'] = 'smd5'; les mots de passe dans users.auth.php ressemblent alors à ceci : user:$1$157382ed$u3AEZpF5xZMNlWGfHZdn6/:... ===== Répertoire des dépôts ===== Dans notre cas, le répertoire servant de point d'entrée pour les dépôts Mercurial est dans l'arborescence de DokuWiki (''/home/www''). Il contient les fichiers hgwebdir.cgi, hgweb.config et .htaccess. Les dépôts sont stockés dans le répertoire ''/home/hg''. ==== hgweb.config ==== [collections] /home/hg = /home/hg [web] style = gitweb ==== .htaccess ==== DirectoryIndex hgwebdir.cgi Options ExecCGI FollowSymLinks RewriteEngine On RewriteBase /home/www/hg RewriteCond %{REQUEST_URI} !^/hg/hgwebdir\.cgi.* RewriteRule (.*) /hg/hgwebdir.cgi/$1 [PT] RewriteRule ^$ hgwebdir.cgi [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) hgwebdir.cgi/$1 [QSA,L] AuthType Basic AuthName Users AuthUserFile /home/www/conf/users.auth.php Require valid-user ===== Dépôts ===== Une première copie de chaque dépôt est copiée dans ''/home/hg'' et les droits d'écriture sont donnés à l'utilisateur exécutant le serveur Apache. Puis un fichier ''hgrc'' est ajouté dans le répertoire ''.hg/'' du projet : [web] contact = someone allowgz = true allowzip = false allowbz2 = false style = gitweb allow_push = * Dans le cas où seuls certains utilisateurs doivent pouvoir consigner des modifications dans le dépôt, il convient de mettre en place une ligne allow_push appropriée, par exemple : allow_push = bug,bboett,adlp