MAJ Subversive SVN - Apache : interpréter php ?

Bonjour à tous !

Je reviens en appeler à l’aide pour ma toute dernière trouvaille catastrophique ! Subversive SVN ! Alors j’ai installé ce merveilleux outil afin que mes collègues puissent travailler collaborativement dans la boîte.

Apparemment, cela fonctionne. J’ai un Eclipse sur lequel j’ai installé le bon plugin qui va bien, je suis connecté sur mon serveur avec svn://monserveur/mondepotsvn (créé sur le serveur Debian avec la commande svnadmin create mondepotsvn), j’ai déposé mon travail.

Un autre utilisateur a pu récupérer l’ensemble de ce que j’ai déposé, toujours grâce à Eclipse (sur sa machine cette fois).

Cela fonctionne ! Impeccable tout est beau je m’aime, je m’applaudis.

Persistent néanmoins deux hics :
D’abord, j’ai un fichier “accueil.php”, pour vérifier si il est bien sur mon serveur, je tape la commande find / -name *accueil.php*
Surprise, rien ne sort ! Pourquoi ? Où sont stockés ces fameux fichiers ? Help !

Ensuite, à chaque import du projet, j’ai ces dossiers (voir screenShot)

Je veux bien qu’ils aient une certaine utilité, mais WTF qu’est ce qu’ils foutent là ? :violin:

J’ai conscience de ne pas avoir assimilé les méandres de subversion, donc un peu d’aide serait la bienvenue.

Merci par avance !

Pas mieux avec des ’ ?

Salut !

Non pas mieux malheureusement …

Les dossiers supplémentaires que tu vois (conf, db, hooks, .settings, …) ressemblent fortement à un dépôt SVN complet tel qu’il est stocké sur le serveur.
Normalement sur le client il y a juste un dossier .svn en plus de tes fichiers à toi.

Je sais pas comment tu en es arrivé là (fausse manip’ ?) mais on dirait que tu as réussi à mettre un dépôt SVN dans un dépôt SVN. :mrgreen:

Vu que c’est plutôt mal parti, je te conseillerais d’effacer complètement ton dépôt et de recommencer. Un svnadmin create sur le serveur, ensuite faire un checkout du projet vide sur le client, et enfin seulement ajouter tes fichiers source sur le client avant de faire un commit.
Malheureusement je ne pourrai détailler beaucoup plus, je n’utilise SVN qu’au boulot sous Windows et uniquement avec TortoiseSVN donc Linux+Eclipse+SVN je suis pas trop au point…

Quant au fichier accueil.php manquant sur le serveur, c’est normal. Il se trouve quelque part dans le dossier db mais pas directement accessible (ce dossier contient à la fois tout ton historique et les métadonnées associées).

Salut !

Totalement d’accord avec toi. J’ai donc bien recrée mon dépôt SVN.
Je crée un dossiers sur Windows, je le checkout avec l’URL SVN choisie, tout va bien il se connecte. J’ajoute un fichier, je commit, tout va bien ! Lorsque mon collègue fait un Update, il ramasse juste mon fichier. Tout est beau.

Encore une fois, je ne trouve pas sur mon serveur ces fameux fichiers…

Quand je me rends sur mon dépôt qui est sur /var/svn/intranet , je n’ai que (voir Screenshot) :

Où sont ces fichiers ? :075

Edit : ok je n’avais pas complètement lu ton message. Alors je n’ai pas de souci à me faire si mon fichier n’est pas directement cherchable, il est tout de même dans DB.

Ok je vous remercie de votre aide dans ce cas !

Re bonjour à tous !

Je reviens à l’assaut car j’ai un autre souci lié à Subversive.
J’ai installé la bibliothèque libapache2-svn afin de pouvoir interpréter mon code envoyé.

Tout a l’air de bien fonctionner, j’ai bien un accès disponible sur monserv/monnomchoisi sauf que lorsque je veux afficher un fichier php, apache ne me l’interprète pas ! Il m’affiche bêtement le contenu du fichier…

J’ai pourtant tout essayé, dans mon dépôt SVN (/var/snv/monprojet) j’ai fait :

chown -R www-data:www-data /var/svn/monprojet
chmod -R 777 /var/svn/monprojet

Le chmod c’était juste pour tester si c’était une question de droits… Toujours est-il que ça ne fonctionne pas…

Une idée ?

Merci encore

777 :open_mouth:

Je ne suis pas certain que libapache2-svn soit prévu pour autre chose que simplement accéder au contenu du dépôt (au code lui-même quoi). À mon avis c’est normal que PHP n’interprète pas tes fichiers.

Perso ce que je ferais c’est écrire un hook post-commit (script à placer dans le dossier hooks de ton dépôt, il doit déjà y avoir des exemples dedans) qui met à jour un répertoire donné à partir du HEAD. C’est ce répertoire là que tu publieras via apache pour pouvoir tester ton code.

Grosso modo :

  • checkout initial de ton projet dans /var/www/où-tu-veux/
  • hook post-commit : cd /var/www/où-tu-veux/ && svn update

Du coup après chaque commit il exécutera le hook et ton répertoire contiendra toujours la dernière version.

Salut !

En effet Syam, tu as encore une fois raison. Ta solution marche nickel, merci bien pour l’explication et l’aide apportées.

A bientôt :stuck_out_tongue: Et encore merci !