Petit pense-bête pour faire fonctionner svn sur ssh, avec des hooks.
Après l'install de svn (apt-get install subversion et cie, svnadmin create monrepo, ...), il y a quelques étapes à suivre pour que plusieurs utilisateurs puissent accéder au repo en svn+ssh:
- Penser à faire un chown -R sur "monrepo" pour que le groupe propriétaire soit "developers" par exemple (peu importe le user owner), puis un chmod -R g+w monrepo pour que tout le groupe puisse toucher au svn
- Ajouter au groupe developers les utilisateurs SVN qui seront amenés à commit (usermod -a -G developers userA)
- Modifier les droits d'accès à l'appli SVN elle meme: editer le fichier monrepo/conf/authz pour le rendre adéquat
- Si un client doit se connecter en SSH pour modifier le SVN et sur un port non standard, éditer son .subversion/config, et dans la section [tunnels] rajouter un type de tunnel: mytunnel = ssh -p 1234. Dès lors les URL svn+mytunnel:// doivent fonctionner
A ce stade SVN over SSH (port non standard) doit fonctionner
Pour activer le hook pre-commit par défaut (il vérifie la présence d'un comment et a sa propre gestion de droits par-repertoire), il faut:
- cp monrepo/hooks/pre-commit{.tmpl,}
éventuellement, éditer (moi j'ai modifié le script pour avoir un message d'erreur:
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || NOCOMMENT=1
test "$NOCOMMENT" && echo "please add a comment to your commit (use -m option)" 1>&2 && exit 1
)
- si il y a une erreur PERL lors du commit sur des histoires de @INC et de fichiers ini foireux faire un : sudo perl -MCPAN -e 'install Config::IniFiles'
- si ensuite il y a un problème de fichier de config non trouvé, faire un cp /usr/share/subversion/hook-scripts/commit-access-control.cfg.example monrepo/hooks/commit-access-control.cfg , l'éditer et dans le pre-commit hook, vérifier que le path vers ce fichier est absolu et non relatif lorsqu'il est appelé.
mardi 18 mai 2010
Inscription à :
Publier les commentaires (Atom)
vous ne machez pas vos mots : j'aime !
RépondreSupprimerà quand un post sur les châteaux de la loire ?
RépondreSupprimer