vers l'accueil formulaire de contact

Tutoriel Subversion N°4 : import projet dans repository

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.

Zip - 112.2 ko
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 :\tmp\monprojet1, 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) :

PNG - 2.4 ko
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 —username douglas —password java monprojet1 svn ://localhost/repository1/monprojet1 -m "Import initial 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 ’\tmp\monprojet1’

Erreurs courantes

svn : svnserve.conf (12) : Option expected

Si vous avez l’erreur suivante , c’est que votre fichier conf\svnserve.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 conf\passwd 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 :\formationsubversion\utilisateurs\morad , 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 svn ://localhost/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 outils\option 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.