Maî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
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 :
— 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
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):
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 :
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é.
En particulier, veillez à ce que les instructions sont écrites comme ceci
en non comme ceci
(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é.
Même type de souci qu’au dessus : enlevez l’espace au début de la ligne précisant login / password utilisateur authentifié..
PUBLICITE
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.
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 :
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 :
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’
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 :
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.
ç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.
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.