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));