pelisboule Posté(e) le 16 janvier 2011 Auteur Posté(e) le 16 janvier 2011 Personne ? Un petit coup de pouce serait plus que le bienvenu car sans l'usage de ces HOOK (mais peut 0 Citer
Diaoul Posté(e) le 16 janvier 2011 Posté(e) le 16 janvier 2011 Personne ? Un petit coup de pouce serait plus que le bienvenu car sans l'usage de ces HOOK (mais peut être ai-je tout faux peut être n'ai-je pas besoin des hook ?) je devrais basculer sur l'utilisation d'rsync ou de svn update en crontab ce qui sera beaucoup moins optimisé A l'époque ou je ne connaissais pas encore les DSCM et leurs avantages et que j'utilisais SVN sur mon Syno, les HOOKs fonctionnaient parfaitement. Donc je ne vois pas comment t'aider. D'autant que subversion-tools n'est pas nécessaire à l'utilisation des HOOKs il me semble. C'est juste un ensemble d'outils supplémentaires. (cf http://packages.debian.org/squeeze/subversion-tools) Mais plus sérieusement, utilise Git (ou Mercurial à la limite) mais pas SVN ! 0 Citer
pelisboule Posté(e) le 16 janvier 2011 Auteur Posté(e) le 16 janvier 2011 En effet alors les tools n'ont peut 0 Citer
Diaoul Posté(e) le 16 janvier 2011 Posté(e) le 16 janvier 2011 <br />En effet alors les tools n'ont peut 0 Citer
pelisboule Posté(e) le 16 janvier 2011 Auteur Posté(e) le 16 janvier 2011 <br /><br /><br /> C'est bien c 0 Citer
Diaoul Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 <br /><br /> <br /> Malheureusement c'est ce que j'ai fait.... avec un chmod 777 les droits ne doivent pas poser probl 0 Citer
pelisboule Posté(e) le 17 janvier 2011 Auteur Posté(e) le 17 janvier 2011 (modifié) <br /><br /><br /> Tu n'as pas compris ce que je voulais dire. L'utilisateur subversion doit avoir les droits pour créer le fichier test.txt au sein du répertoire en question ! Essaye de mettre /tmp/test.txt après avoir fait un chmod 777 sur /tmp. Sent from my Desire HD Merci pour ta réponse et en effet tu as vu juste !!!! Incroyable, moi qui pensais avoir verrouillé cette histoire de droits !! Du coup je ne comprends pas voici ma commande : /opt/bin/svn update file:///volume1/svn/repos/test/ /volume1/web/test/ Alors pour essaye de savoir d'où vient l'erreur, les dossiers contenus dans repos sont en 777, les dossiers dans svn sont en 770 (user svnowner et group www-data) de même le dossier svn lui même est en 770 (user svnowner er group www-data). De ce côté je ne pense pas qu'il y ait de soucis... comment vérifier le user svn qui est appelé ? Ensuite pour le dossier web il est en 755 (user et group www-data) donc à priori svnowner peut passer au travers, et enfin le répertoire test est également en 755... peut être cela vient-il de là ? Le user svnowner ne dispose pas des droits en écritures sur le dossier ? Dans tous les cas ma question est du coup : comment vérifier le nom de l'utilisateur svn appelé pour ce script ? EDIT : Bon j'ai mis les droits 777 sur le dossier test dans /volume1/web et c'est bon.. quel idiot Bon mais du coup comment faire niveau sécurité ? Car je ne peux décemment positionner les droits sur le répertoire web à 777 ? Peut être pourrais-je changer le group owner à celui de svn et mettre 770 ? Modifié le 17 janvier 2011 par pelisboule 0 Citer
pelisboule Posté(e) le 17 janvier 2011 Auteur Posté(e) le 17 janvier 2011 (modifié) Ok pour la sécurité je vais investiguer un peu alors Bon grosso modo je peux donc considérer le soucis comme résolu !!! Pour information voici le script final qui devrait pouvoir être ré-utilisé par d'autres à l'avenir ça peut toujours servir #!/bin/sh # POST-COMMIT HOOK # # [1] REPOS-PATH (the path to this repository) # [2] REV (the number of the revision just committed) # REPOS="$1" REV="$2" # Emplacement du binaire SVN SVN="/opt/bin/svn" # Repertoire contenant les sites web (en gros le htdocs apache) BASE_DIR="/volume1/web/" # On recupere le nom du projet PROJ=$(basename $1) # Le repertoire de destination sera dans htdocs et aura le meme nom que celui du projet DIR=$BASE_DIR$PROJ # Le user executant le script => Pour debug des droits surtout USER=$(whoami) # Date d execution du script DATE=`date "+%Y_%m_%d"` # Emplacement du fichier de log. Attention, pour debug s assurer que le fichier ainsi que son toute son arbo soient accessibles. Dans le doute positionner chmod 777 sur tous les repertoires du chemin dans un premier temps pour tester. LOG="/volume1/@logs/svn/$DATE" DATEDEB=$(date +%s) echo "##########################################################" >> $LOG echo "$USER is updating $PROJ on apache : $(date +%d/%m/%y-%k:%M:%S)" >> $LOG # Si le projet existe deja on fait un svn update sinon on fait un checkout if [ -d "$DIR" ]; then echo "Updating $PROJ" >> $LOG $SVN update $DIR >> $LOG else echo "Checking out $PROJ" >> $LOG $SVN checkout file://$1 $DIR >> $LOG fi DATEFIN=$(date +%s) echo "End of apache update : $(date +%d/%m/%y-%k:%M:%S)" >> $LOG echo "Execution time : $(($DATEDEB - $DATEFIN))" >> $LOG echo "##########################################################" >> $LOG Enfin pour git je me suis renseigné et ait hésité à vrai dire mais même sur le wiki git officiel il y a un comparatif avec svn et clairement la seul réel intérêt pour moi serait les perfs qui pour l'instant ne posent absolument pas de soucis chez nous avec svn Après le principal défaut de git est sa bien plus faible communauté qu'svn ainsi que son "manque de maturité". Par manque de maturité j'entends que le nombre d'outils (notamment GUI) sont très limités. De plus un autre frein important pour nous est que nous disposons de logiciels propriétaire pour gérer nos repos svn et clairement devoir abandonner des licenses ça se réfléchi car c'est une perte sèche Dans tous les cas merci encore pour ton soutient, EDIT: Ah au passage, juste comme ça, est-il possible de définir une sorte de hook global ??? J'entends pas là un hook multi repository ou devons nous forcement créer un hook pour chaque repo ? Modifié le 17 janvier 2011 par pelisboule 0 Citer
pelisboule Posté(e) le 28 janvier 2011 Auteur Posté(e) le 28 janvier 2011 Bonsoir, Cornerstone sous mac, TortoiseSVN sous windows, SVN Manager sur le NAS pour g 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.