WebSVN est une jolie interface pour SVN. Le paquet Debian de ce logiciel semble être vraiment à la traîne et il m'a fallu un peu de temps pour avoir une configuration qui tient la route. Je vous présente ici mes trouvailles.
MultiViews
Voici comment avoir de jolies URL comme
http://moi/websvn/depot/dossier/fichier
et non pas
http://moi/websvn/index.php?repname=depot&path=dossier/fichier
Il suffit de décommenter
$config->useMultiViews();
dans /etc/websvn/config.php, puis paramétrer
$locwebsvnhttp = "/websvn";
dans /etc/websvn/wsvn.php et enfin changer les alias apache en
Alias /websvn/templates /usr/share/websvn/templates Alias /websvn /usr/share/websvn/wsvn.php
dans /etc/websvn/apache.conf.
Tarballs
Pour permettre le téléchargement de tars pour n'importe quel dossier de votre dépôt, il faut modifier les directives suivantes dans /etc/websvn/config.php :
1 2 3 | $config->allowDownload(); $config->setDefaultFolderDlMode('gzip'); $config->setMinDownloadLevel(1); |
Puis une erreur PHP se présente lorsque l'on veut télécharger un fichier individuel, il suffit de changer la ligne 38 de /usr/share/websvn/dl.php en
$handle = @opendir($dir);
Coloration syntaxique
On a le choix entre Geshi et Enscript. Pour activer geshi, on décommente dans /etc/websvn/config.php :
$config->useGeshi();
et on commente éventuellement dans /etc/websvn/svn_deb_conf.inc :
//$config->useEnscript();
Il y a ensuite un problème d'encodage de caractères : tous les fichiers sont supposés être en UTF-8 et les autres sont mal affichés. Il faut ajouter le code suivant à la ligne 740 de /usr/share/websvn/include/svnlook.php pour détecter automatiquement l'encodage :
1 2 | $source = mb_convert_encoding($source, 'UTF-8', mb_detect_encoding($source, 'UTF-8, ISO-8859-1', true)); |