Subversion et JDeveloper

Un aspect important du développement est la gestion des évolutions… Subversion est un logiciel open source de gestion de versions (Version Control Software ou VCS). Ce Post détaille les différentes étapes de la mise en oeuvre de Subversion avec JDeveloper 11g sous Windows.

Télécharger et installer la dernière version de Subversion
Vous pouvez télécharger sur le site web Tigris.org dans le dossier associée ici et vous reporter au document d’installation. Si vous prenez la version .zip, l’installation consiste dans les opérations suivantes :

  • Décompresser le contenu du fichier .zip dans un répertoire de votre choix. Vous trouverez dans le sous-répertoire bin, les fichiers suivants :
    • svn est le client subversion
    • svnadmin est l’outil d’administration du serveur Subversion
    • svnlook permet de réaliser des rapports sur vos référentiels subversions
  • Pour utiliser subversion, il suffit d’utiliser le mode ligne de commande de Windows, sélectionnez le menu « Démarrer | Exécuter… ». Tapez cmd.exe et une console doit s’afficher. Positionnez les variables d’environnement comme ci-dessous en remplaçant <path_to_svn>svn-win32-1.4.4 par le répertoire d’installation que vous avez choisi
set SVN_HOME=<path_to_svn>svn-win32-1.4.4
set PATH=%SVN_HOME%bin;%PATH%
set APR_ICONV_PATH=%SVN_HOME%iconv
  • Vous pouvez ensuite vérifier que votre installation est correcte en tapant la commande ci-dessous :
svn --version

Le résultat de la commande doit ressembler à ce qui suit :

svn, version 1.4.4 (r25188)
compiled Jun 8 2007, 18:49:42

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme


Créer un référentiel et démarrer le serveur Subversion

Subversion fonctionne avec Apache. Toutefois pour une installation simple, vous pouvez utiliser un serveur avec un protocole dédié appelé svnserver. Pour démarrer svnserver opérez comme suit :

  • Créez un répertoire qui contiendra vos référentiels. Pour la suite, nous dirons que la variable SVN_REPS contient ce répertoire.
  • Utilisez svnadmin pour créer un nouveau référentiel. Dans la console Windows, les variables d’environnement étant positionnées, exécutez les commandes qui suivent :
cd %SVN_REPS%
svnadmin create TestRepository
  • Dans une autre Console Windows, positionnez également les variables d’environnement et lancez le serveur Subversion comme avec la commande ci-dessous :
svnserve -d -r %SVN_REPS%

La console Windows doit rester ouverte tant que vous voulez utiliser le serveur subversion.

Positionner authentification et autorisation pour votre référentiel
Assurez-vous que vous avez mis en place une authentification sur Subversion pour pouvoir non seulement lire mais également écrire dans le référentiel. Pour cela :

  • Editez le fichier svnserve.conf contenu dans le sous répertoire conf de votre référentiel. Assurez-vous que le répertoire contient les lignes suivantes :

anon-access = none # Indique que les acces anonymes n'ont aucun droit
auth-access = write # Indique que les acces authentifiés ont les droits de
# lecture/écriture
password-db = passwd # Indique que le fichier de mots de passe est le
# fichier passwd situe dans le meme répertoire
authz-db = authz # Indique que le fichier d'autorisation est le fichier
# authz situe dans le même répertoire
  • Editez le fichier passwd contenu dans le même sous-répertoire et assurez-vous qu’il contient les username/password pour se connecter a Subversion comme ci-dessous :
arkzoyd = arkzoydpassord    # Ou la valeur a droite du signe = indique le nom
# de l'utilisateur et celle de gauche
# son mot de passe
  • Enfin, editez le fichier authzd contenu dans le meme sous-repertoire et assurez-vous qu’il permet a l’utilisateur de lire et écrire dans le referentiel. Ajoutez par exemple :
[/]
arkzoyd = rw # indique que l'utilisateur arkzoyd a le droit
# de lecture/écriture a la racine du referentiel


Ajouter votre référentiel Subversion a JDeveloper

Une fois JDeveloper 11g démarré, vous pouvez ajouter votre référentiel en sélectionnant le menu « File | New… | General | Connections | Subversion Repository Connections ». La boite de dialogue ci-dessous apparait :

  • Remplissez-la avec les va
    leurs de connexion a votre serveur subversion. Tester la connexion pour vous assurer que tout est bien paramétré et cliquez sur OK.
  • Sélectionnez ensuite le menu « Versioning | Version System | Subversion » Pour vous assurer que le système de versioning utilise sera bien Subversion.

Enregistrer un projet existant dans Subversion
Subversion est installé et configuré avec JDeveloper. Vous allez maintenant enregistrer un projet ou un workspace existant dans votre référentiel nouvellement créé. Pour cela, sélectionnez votre projet ou workspace et le menu contextuel « Versioning | Import files… » comme ci-dessous :


A travers l’assistant vous aller pouvoir ainsi enregistrer votre workspace ou projet entier dans subversion… Sélectionner « perform checkout » si vous voulez que votre projet soit synchroniser avec la version stockée dans subversion.

Si vous voulez enregistrer un nouveau projet dans Subversion, la procédure est identique.

Travailler avec Subversion
Une fois que votre projet/workspace est dans un référentiel subversion, tous les nouveaux fichiers seront automatiquement proposés comme candidat pour ajouter dans subversion. Il en est de même pour les fichiers mis à jour ou supprimés. Sélectionner le menu « Versioning Pending Changes » pour visualiser les modification effectuées sur vos fichiers et pas encore mis à jour dans Subversion. La fenêtre ci-dessous doit s’afficher :


Dans l’onglet « Outgoing » contient les changement en cours, L’onglet Candidates contient les nouveaux fichiers :

  • Vous pouvez simplement accepter les nouveaux fichiers en les sélectionnant et en cliquant sur le bouton « + » dans l’onglet Candidates
  • Vous pouvez Valider les changement dans Subversion en validant les modifications dans l’onglet « Outgoing ». Vous pouvez egalement tous valider en selectionnant le menu « Versioning | Commit Working Copy… »

Voila pour les bases et pour plus d’informations…

  • Dans la documentation JDeveloper (Menu « Help | Table of Content ») Il y a un chapitre « Desiging and Developing Applications -> Using Versioning -> Using Subverion with JDeveloper » , un chapitre entier
  • Vous pouvez utiliser RapidSVN comme client Subversion
  • http://dark.clansoft.dk/~mbn/svnservice/ permet d’enregistrer snvserver comme un service Windows

-GarK!