Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/02/2008, à 13:15

kos-mos

[RESOLU] Subversion

Bonjour,

Dans le cadre de la mise en place d'un serveur de développement basé sur Ubuntu 7.10, nous avons installé Subversion sur la machine.
La gestion s'effectue via usvn.
Cela fonctionne correctement.

Cependant 2 points sont encore un peu flous:

1) Lorsque je pointe sur l'url svn d'un projet php ex: http://***.***.***.***/usvn/svn/mon_projet, les fichiers ne sont pas executés par le serveur, ils sont simplement visibles en tant que fichier texte. Est-il possible soit d'éxécuter le php dans ce dossier, (mais cela ne sera peut être pas possible car ce chemin est utilisé pour l'accès au dépôt...) soit dans un autre dossier et ce de façon transparente, (c'est à dire  qu'à chaque nouveau commit aucune manipulation ne soit nécessaire).

2) Nous avons mis en place un système de sauvegarde sur bandes: un dump de subversion est effectué chaque jour. Si par mégarde un des projets est effacé, est-il possible de restaurer le dump dans un dépôt prévu à cet effet, (c'est à dire un dépôt uniquement pour les restaurations et différent de celui de développement).

Bon appétit!:)

Dernière modification par kos-mos (Le 27/02/2008, à 17:32)

Hors ligne

#2 Le 11/02/2008, à 14:43

teke

Re : [RESOLU] Subversion

Pour le point un tu à  raison, ce n'est pas directement possible, par contre tu peux utiliser les actions de commit pour automatiquement exporter vers un dossier oà› tes scripts seront exécutables.

pour le point deux, subversion à  un système intégrer de sauvegarde, il te suffit de recréer ton dépà´t, et à  l'aide de svnadmin d'importer ta sauvegarde. Perso mon script de backup fait faire export de sa base dans un home qui est lui même sauvegardé par rsync avec backup...

#3 Le 12/02/2008, à 17:40

kos-mos

Re : [RESOLU] Subversion

Merci pour ta réponse.
Pour le point 1 cela n'est finalement pas vraimment important d'autant plus que l'on  passe par Subclispe de l'IDE Eclispe, (sous Windows), qui je pense ne peux effectuer une autre commande après le commit, (je me trompe peut-être...).

Pour le point deux la question est règlée en partie, cependant je souhaiterais mettre en oeuvre un petit Fcron qui scanne le dossier o๠se trouve mes dépots c'est à  dire :

/var/www/usvn/files/svn

et que pour chaque projet il execute un

svnadmin dump /var/www/usvn/files/svn/le_projet > /sav/le_projet.db

Grosso-modo je voudrais faire un truc du type

for each folder in /var/www/usvn/files/svn/
make svnadmin dump /var/www/usvn/files/svn/le_nom_du_dossier_en_cours > /sav/le_nom_du_dossier_en_cours.db

(par contre je prends le dossier mais pas ses sous-dossiers).

Est ce que vous avez des idées alors une petite liste des commandes utilisables dans un fcron pour ce genre de traitement.

Merci

Dernière modification par kos-mos (Le 12/02/2008, à 17:49)

Hors ligne

#4 Le 13/02/2008, à 08:34

teke

Re : [RESOLU] Subversion

Je ne comprend pas trop le problème,  c'est au niveau du dump que tu n'as que le dossier racine de ton arborescence ?

$  svnadmin dump --help 
dump: usage : svnadmin dump CHEMIN_Dà‰Pà”T [-r BAS[:HAUT]] [--incremental]

Décharge le contenu du système de fichiers entre les révisions précisées
vers stdout dans le format portable 'dumpfile'. L'avancement est envoyé
vers stderr. Si aucune révision n'est précisée, décharge tout l'arbre.
Si seule BAS est donnée, décharge cette révision. Avec --incremental,
la première révision déchargée est la différence par rapport à  la
précédente au lieu du texte complet habituel.

Options valides:
  -r [--revision] ARG      : précise la révision numéro ARG (ou étendue X:Y)
  --incremental            : décharge incrémentale
  --deltas                 : décharge différentielle (deltas)
  -q [--quiet]             : pas d'avancement mais seulement les erreurs vers stderr

La ligne de mon script qui s'occupe de ça est :

find /var/www/svn -type d -q -exec svnadmin dump {} > /home/svn/{}`date "+%Y%m%d-%H%M%S"` \;

#5 Le 26/02/2008, à 15:49

kos-mos

Re : [RESOLU] Subversion

Je prends quand même un petit moment pour te remercier pour tous ces conseils! smile
Tout fonctionne maintenant.

Hors ligne

#6 Le 27/02/2008, à 12:43

teke

Re : [RESOLU] Subversion

Content si j'ai pu t'être utile...

N'hésite pas à modifier / compléter la doc du wiki si tu tu as trouvé certaine chose ailleurs...

Et un petit résolut dans le titre...

Bon travail avec cet outil qu'est subversion... vraiment un truc génial !!!

#7 Le 10/03/2008, à 09:56

Slum

Re : [RESOLU] Subversion

Bonjour,

J'ai le même problème que le point 1, mais pour moi c'est relativement important.
Existe-t-il une solution pour exécuter le php ? (voire copier le fichier après commit)

Merci.

Hors ligne

#8 Le 10/03/2008, à 21:14

teke

Re : [RESOLU] Subversion

La réponse est donnée si dessus... un scipt qui s'exécute lors d'un comit pour exporter automatiquement le contenu dans un dossier du serveur ou ce contenu sera exécutable.

Autrement dit, il n'est pas possible d'exécuter sur le lien de svn...

Mais pour y arriver, il te faudra mettre les mains dans le cambouis.

Pour un exemple, regarde les fichiers contenu dans le sous dossier hooks de ton dépôt SVN...

Dernière modification par teke (Le 10/03/2008, à 21:15)