Tutoriel Subversion N°4 : import projet dans repository

////Tutoriel Subversion N°4 : import projet dans repository

promo_formation_subversion.pngMaîtrisez l’import d’un projet Java entreprise dans votre repository Subversion. Préparez votre projet pour l’import. Récupérez vos sources après importation. Enfin, pour tout projet supplémentaire, jugez de l’opportunité de créer un nouveau repository.

Ce tutoriel est un extrait de séances pratiques de la formation SUBVERSION dispensée par Objis.

Les + objis

 70% de travaux pratiques

 Clé USB avec tous les outils utilisés + Corrigés TPs

 Bilan pédagogique individuel + conseils

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Tutoriel et formation Subversion Objis

 Objis, spécialiste formation java depuis 2005

 Site Subversion

Prérequis

 Aucun.

Objectifs

 Comprendre l’importation d’un projet dans un repository SVN

 Comprendre l’arborescence conseillée d’un projet avant importation

 Récupérer les sources d’un projet après importation

 Choisir une stratégie d’association projets / repository

promo_formation_jee_objis.png

Programme

 Partie 1 : arborescence conseillée de votre projet avant importation

 Partie 2 : import du projet dans subversion

 Partie 3 : récupération des sources après import

 Partie 4 : choisir une stratégie d’association projets / repository

Durée

 30min (hors temps téléchargement SVN)

Introduction : projet cible

Le premier projet que vous allez importer représente un squelette du module web eclipse d’une implémentation de notre projet java entreprise global, fil conducteur de nos tutoriaux java entreprise .

Le squelette a été créé dans notre Tutoriel jee eclipse et Jboss 5 : projet EAR avec Eclipse.

 Le zip du module web (développé par une équipe sénégalaise) est disponible en téléchargement.

projet jee complexe module web initial

Partie 1 : arborescence de votre projet

création de l’arborescence

Même si vous pourriez importer tout projet directement dans le repository, l’équipe Subversion vous conseille de préparer 3 répertoires suivants, dont certains ne verront leur valeur ajoutée plus tard dans le cycle de vie du projet. :

 Créez un répertoire ‘monprojet1’ dans un répertoire temporaire , ex : c:tmp

 Dans le répertoire c:tmpmonprojet1, créez les répertoire suivants :

tutoriel_subversion_objis_creation_projet_11.png

— Répertoire branches : utile dans le futur lors de créations de ‘branches’. Par exemple permettre à une équipe de fixer les bugs en vue d’une livraison, sans pénaliser le reste de l’équipe de développement qui continuera à travailler sur le tronc commun (trunk)

— Répertoire tags : utile dans le futur lors de création future de livraisons intermédiaires

— Répertoire trunk : utile dès maintenant. C’est le tronc commun. C’est ici que seront les sources de votre projet.

 dézippez le workspace eclipse dans le répertoire trunk

tutoriel_subversion_import_projet_web_jee_eclipse_1.png

Nous allons maintenant importer cette arborescence dans subversion, en utilisant l’utilisateur ‘douglas’.

Partie 2 : import du projet dans subversion

Démarrage service svnserve

Vérifiez que le service subversion svnserve est bien démarré (Services Windows):

tutoriel_subversion_import_verif_serveur_ok

Import

 Ouvrez un nouvel invite de commande MS-DOS et déplacez-vous jusqu’au répertoire ‘tmp’.

 A partir du répertoire ‘tmp’, lancez la commande :

svn import monprojet1 http://localhost/svn/repository1/monprojet1 -m "Import initial projet projet 1"

— Vous vous authentifiez (login/pwd) pour pouvoir accéder au repository en écriture

— Vous utilisez la commande svn import , dédiée à cette tache d’import dans svn

— Vous recherchez un repository SVN sur la machine locale (localhost)

— vous utilisez le protocole svn:// en vous connectant au port par défaut de svn sur la machine locale

— Vous souhaitez importer l’arborescence du projet1 dans le repository repository1


— Vous spécifiez un message (-m « Import initial projet 1 ») qui permettra à toute personne ayant accès au répository de savoir le contexte de création de cette modification du repository.

la commande produit la sortie suivante :

tutoriel_subversion_import_projet_web_jee_eclipse_4.png

Toute l’arborescence du projet est copiée dans le repository Subversion, avec un « numéro de révision 1« .

REMARQUE : notez que Subversion ne touche absolument pas à l’arborescence de ‘tmpmonprojet1’

Erreurs courantes

svn : svnserve.conf (12): Option expected

Si vous avez l’erreur suivante , c’est que votre fichier confsvnserve.conf est mal configuré.

tutoriel_subversion_import_projet_web_jee_eclipse_5.png

En particulier, veillez à ce que les instructions sont écrites comme ceci

tutoriel_subversion_objis_authentification_subversion_config_svnserve_OK.png

en non comme ceci

tutoriel_subversion_objis_creation_projet_5.png

(il y a un espace au début de la ligne)

svn : authentication failed

Si vous avez l’erreur suivante , c’est que votre fichier confpasswd est mal configuré.

tutoriel_subversion_import_projet_web_jee_eclipse_6.png

Même type de souci qu’au dessus : enlevez l’espace au début de la ligne précisant login / password utilisateur authentifié..

PUBLICITE

com_cours_du_soir_objis.gif

Partie 3 : récupération des sources avec plusieurs clients

Client ligne de commande : utilisateur morad

Avec l’invite de commande, positionnez-vous dans le répertoire c:formationsubversionutilisateursmorad , afin de simuler que nous sommes sur l’ordinateur de Morad et que celui-ci souhaite récupérer les sources déposées par l’utilisateur douglas.

tutoriel_subversion_import_projet_web_jee_eclipse_7.png

Compte-tenu de notre stratégie d’authentification, nous pouvons accéder aux sources sans s’authentifier (accès anonyme).

Lancez le commande :

svn checkout http://localhost/svn/repository1/monprojet1 projet1

L’effet est immédiat :

tutoriel_subversion_import_projet_web_jee_eclipse_8.png

Vous avez récupéré une ‘copie de travail’ du monprojet1.

La lettre A au début de chaque ligne signifie ‘Ajout’.

L’arborescence du répertoire ‘morad’ est désormais la suivante :

tutoriel_subversion_import_projet_web_jee_eclipse_9.png

répertoires .svn cachés

 Modifiez la configuration de votre explorateur windows afin de voir les fichiers cachés. (A partir de l’explorateur windows, faire outilsoption des dossiers) et choisir comme ci-dessous l’option ‘afficher les fichiers cachés’

tutoriel_subversion_import_projet_web_jee_eclipse_10.png

Vous remarquez que subversion a créé un fichier .svn dans chacun des répertoires du projet. C’est ce fichier qui va permette à Subversion d’identifier les modifications faites en local et les comparer avec celles du serveur.

REMARQUE : Les systèmes de contrôle de version se basent sur les dates de modification des fichiers. Il est donc très important que vos machines soient précisément à l’heure.

Sous windows le logiciel client NTP Time vous permet d’avoir votre heure windows synchronisés avec ceux de serveurs sur internet :

tutoriel_subversion_import_projet_web_jee_eclipse_11.png

Client Tortoise SVN : utilisateur eric

De nouveaux développeurs sont impliqués sur le projet, dont eric, qui va utiliser le client Tortoise SVN pour récupérer les sources du projet.

tutoriel_subversion_import_projet_web_jee_eclipse_12.png

 

tutoriel_subversion_import_projet_web_jee_eclipse_13.png

 

tutoriel_subversion_import_projet_web_jee_eclipse_14.png

 

tutoriel_subversion_import_projet_web_jee_eclipse_15.png

ça y est, eric a sa propre copie de travail.

client eclipse (plugin subclise) utilisateur mickael

Un autre développeur décide de récupérer les sources directement à partir d’Eclipse, en utilisant le plugin subclipse. Voici le résultat de la récupération des sources dans son environnement de développement.

tutoriel_subversion_objis_installation_subclipse_20.png

tutoriel_subversion_objis_installation_subclipse_21.png

tutoriel_subversion_objis_installation_subclipse_22.png

tutoriel_subversion_objis_installation_subclipse_23.png

Conclusion

Dans ce tutoriel, vous avez importé dans Subversion un projet java entreprise. Vous avez compris l’arborescence conseillée pour votre projet (répertoires tags, branches, trunk). Ensuite différents développeurs ont utilisés différents clients svn pour récupérer la dernière version des sources (ici release 1).

En particulier, un des développeurs a pu rapidement déployer sous Eclipse l’application web, en adaptant la configuration du serveur cible.

Le tutoriel suivant vous permettra de réaliser des modifications de votre source et de valider ces modifications sur le repository.

Pour aller plus loin

 Si vous appréciez notre sens du partage, devenez membre ‘classic’ du Club Objis.

 Accélérez significativement votre maîtrise de Subversion avec un coach Objis : devenez membre Silver / Gold du Club Objis.

2018-01-27T16:23:18+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java