Transcript

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Subversion (SVN) sous Eclipse (JAVA), avec Google Code1. Plan1. Plan 2. Introduction 2.1. Prsentation du tutorial 2.2. Intrt et fonctionnement de Subversion 2.3. Informations 3. Rcuprer un SVN grce Google Code 3.1. Google Project Hosting 3.2. Cration dun projet 3.3. Ajout des membres 3.4. Informations importantes 4. Installer et configurer Subclipse 4.1. Lien de tlchargement 4.2. Installation sous Eclipse 4.3. Configuration du SVN Google : Affichage 5. Utilisation de Subversion 5.1. Partage dun projet 5.2. Dtails sur le Project Explorer 5.3. Outils de partage 5.3.1. Synchronize with Repository 5.3.2. Commit 5.3.3. Update to HEAD / Update to Version 5.3.4. Create Patch / Apply Patch 5.3.5. Branch/Tag 5.3.6. Merge / Switch to another Branch/Tag/Revision 5.3.7. Show 5.3.8. Add to Version Control/Add to svn:ignore 5.3.9. Set Property 5.3.10. Autres outils 1 2 2 2 2 3-6 3 4 4-5 6 7-12 7 8-10 11-12 1313-15 15 16-19 17 17 17 17 18 18 18 19 19 19

1

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

2. Introduction2.1.Prsentation du tutorialSubversion (SVN) est un systme de gestion de donnes, principalement utile pour du travail en commun. Ce tutorial va dtailler au travers dun exemple simple et dimages comment rcuprer un SVN par Google Code (cela ncessite un projet Open Source, attention), installer le plug-in Subclipse sous Java, et tester ses principales fonctions.

2.2.Intrt et fonctionnement de SubversionLes avantages de lutilisation dun SVN sont nombreux, et vous tes invits parcourir Gestion de version avec Subversion, un livre Open Source traitant du sujet. En voici un bref aperu, tel quil va tre prsent dans ce tutorial : Donnes sauvegardes Online Les donnes seront sauvegardes et accessibles sur Internet, ce qui garantit leur accessibilit et leur prennit. Une perte dinformation de votre ct est immdiatement rpare. Conservation des versions Chaque version dun mme fichier est conserve sous SVN ; cela veut dire que vous pouvez tout moment revenir sur vos pas, et mme travailler simultanment sur des versions diffrentes de votre projet. Il est galement possible dafficher les diffrences entre chaque version. Partage des fichiers Chaque fois quun membre du projet change quelque chose, sa version modifie sera immdiatement et visiblement accessible pour tous les autres. Simplicit dutilisation Lutilisation de Subclipse permet de se passer totalement de lignes de commande, et dutiliser Subversion avec une interface intuitive et parfaitement intgre Eclipse.

2.3.InformationsTutoriel ralis le 11/04/2011 avec : Windows XP Pro Eclipse IDE for Java Developers 1.3.2.20110301-1807 ( Eclipse Platform 3.6.2.M201102101200 ) Subclipse 1.6.17 JDKTM6

2

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

3. Rcuprer un SVN grce Google Code3.1. Google Project HostingLentreprise Google encourage notablement les initiatives Open Source, et a mis Google Project Hosting en place sur sa plateforme Google Code, qui permet de crer automatiquement une plateforme de dveloppement collaboratif sous licence Open Source (incluant donc un SVN). Pour y accder, connectez-vous sur http://code.google.com/hosting/ et choisissez Sign in to create a project (entour en orange sur la capture) ; il vous faut en effet un compte Google (pour vous et tous les membres du projet), crable rapidement et gratuitement.

1 Cration d'un compte Google

Si vous avez dj un compte Google (par exemple un compte Gmail), choisissez Create a new project.

2 Accder au formulaire de cration

3

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

3.2.Cration dun projetSur la page suivante, remplissez les champs Project name (nom), Project summary (rsum) , Description et Project Label (tiquettes, utilises pour le rfrencement) comme vous le souhaitez (champs obligatoires), puis slectionnez Subversion dans le champ Version Control System . Le dernier champ, Source code License , est plus dlicat : vous devez choisir une licence open source pour votre projet, mieux vaut pour vous passer un peu de temps chercher celle qui vous convient.

3 Dtails du projet

Dans notre cas, nous avons choisi la licence MIT, qui est apparue comme une des moins contraignantes. La nouvelle version de la licence BSD pourrait aussi correspondre. Ensuite, cliquez sur Create Project .

3.3. Ajout des membresVotre projet est dsormais cr, et vous vous trouvez sur sa page daccueil. Il est pour linstant assez vide, notre premier rflexe doit tre dinviter les autres membres du projet. Cliquez sur People dans le menu du haut, sous longlet Project Home .

4 Accder l'invitation de membres

4

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Cliquez sur la zone de texte contenant Enter new member email adresses , puis remplissez le champ et choisissez le rle du futur membre parmi les suivants : Owner , qui lui donnera les mmes droits que vous, Committer , empchant de modifier les paramtres du projet, Contributor , qui naccorde aucune permission particulire.

Notez que votre projet est Open Source, cest--dire que nimporte qui pourra accder votre code, et ce sans que vous en soyez inform. Finalement, cliquez sur Add Member .

5 Inviter un membre

La personne invite recevra automatiquement un email, et peut dores et dj participer au projet (si elle est au moins committer ). Vous pouvez ensuite, en cliquant sur le nom du membre, prciser son travail et des notes le concernant (accessibles tous).

6 Prciser son rle

Nhsitez pas cliquer sur tous les liens pour vous familiariser avec les outils proposs par Google Code, le wiki comme linterface de tlchargement pourraient vous aider communiquer.

5

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

3.4.Informations importantesIl est temps daccder ce dont vous allez avoir besoin lorsque vous configurerez Eclipse. Cliquez sur Source dans le menu.

7 Rcuprer l'adresse du SVN

On sintresse uniquement au lien qui apparat dans la premire ligne de code, commenant par https:// et finissant par trunk/ : gardez ce lien en mmoire, sans conserver le trunk/ . Ainsi, dans mon exemple, il sagit de :https://pt-ecm-simulation-plateforme-trading.googlecode.com/svn/ .

Lorsquon vous demandera sous Eclipse ladresse de votre SVN, cest ce lien quil faudra donner.

8 Vous n'aurez pas vous soucier de lignes de commande avec Subclipse

Ensuite, il nous faut encore votre identifiant et mot de passe pour la connexion scurise : votre identifiant est ladresse lie votre compte Google, et le mot de passe est accessible en cliquant sur le lien googlecode.com password . Il ne sagit pas de votre mot de passe de compte Google.

9 La partie bleute affiche normalement votre identifiant

L encore, il sagit de ce mot de passe que lon vous demandera sous Eclipse. Vous pouvez en gnrer un nouveau tout moment en cliquant sur Regenerate et en confirmant.

6

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

4. Installer et configurer Subclipse4.1. Lien de tlchargementSubclipse nest pas le seul client SVN propos par Eclipse, il existe aussi Subversive. Si ce dernier nest pas dcrit ici, cest simplement parce quil sest avr dinstallation moins aise. Rendez-vous sur http://subclipse.tigris.org/, puis choisissez Download and Install dans le menu de gauche, sous Project pages .

10 Accs au lien de tlchargement

Ce qui nous intresse est dans Current Release . Cherchez la version qui correspond votre version dEclipse (normalement, la dernire). Quelle que soit la version que vous choisissez, intressez-vous au lien indiqu par Eclipse update site URL : copiez-le ou gardez-le disposition.

11 Choix de la version tlcharge

En loccurrence, on se servira du lien de la 1.6.x , compatible avec notre version dEclipse.

7

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

4.2.Installation sous EclipseLancez Eclipse, puis dans le menu du haut, cliquez sur Help , puis Install new Software .

12 Initialiser lajout de Subclipse

A droite de Work with , cliquez sur Add, puis dans la fentre qui apparat rentrez un texte qui vous permettra de reconnatre Subclipse dans le champ Name , et le lien rcupr prcdemment dans Location . Confirmez en cliquant sur OK .

13 Renseignement du lien vers Subclipse

Puis, en-dessous de linventaire qui saffiche, choisissez Select All , puis cliquez sur Next> . En ralit, on naura pas besoin de tout, mais cest plus simple comme a.

14 Choix des parties installes

8

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Aprs un petit temps de chargement, une liste de ce que vous allez installer saffiche ; en effet, vous disposez dj dune partie des fichiers ncessaires, et les doublons ne seront pas tlchargs. Cliquez simplement sur Next > .

15 Liste des fichiers qui seront tlchargs

La partie suivante concerne les licences de distribution des fichiers concerns. Prenez le temps de tout lire, ou bien choisissez directement I accept the terms of the license agreements avant de cliquer sur Finish.

16 Texte des licences accepter.

9

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Le tlchargement et linstallation vont alors commencer automatiquement. Selon les prcautions prises par votre ordinateur, vous pourrez avoir confirmer linstallation de certains fichiers.

17 Quelques minutes d'attente sont ncessaires

A la fin du tlchargement, Eclipse vous propose de redmarrer le logiciel pour prendre en compte les changements effectus, dattendre ou dessayer dappliquer directement les changements. Il vaut mieux redmarrer immdiatement, en cliquant sur Restart now .

18 Cliquez sur Apply Changes Now vos risques et prils

LorsquEclipse se relance, une bote de dialogue vous propose denvoyer des informations anonymes lquipe de Subclipse. Choisissez comme bon vous semble pour terminer linstallation.

19 Envoi d'informations anonymes l'quipe de dveloppement de Subclipse

10

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

4.3.Configuration du SVN Google : affichageDans un premier temps, nous allons afficher ce que contient le SVN mis en place plutt. Il ny a rien pour linstant, mais vous le remplirez bien vite. Ces informations tant Open Source, vous naurez pas rentrer de code dauthentification pour y accder. Dans le menu du haut, cliquez sur Window , puis mettez Open Perspective en surbrillance, et cliquez sur Other .

20 Afficher le contenu de votre SVN

Choisissez SVN Repository Exploring dans le menu droulant, puis cliquez sur OK .

21 Ne confondez pas avec la perspective contenant < et >

11

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Une fentre devrait souvrir votre gauche, encore vide. Cliquez droit lintrieur, et mettez en surbrillance New , puis cliquez sur Repository Location (il est possible de le faire depuis le menu gnral galement).

22 Cration d'un lien avec le SVN Google

Dans la fentre qui souvre, remplissez le champ URL avec ladresse que vous avez rcupre en 3.4., sur votre projet Google, puis cliquez sur Finish .

23 Votre URL devrait avoir une forme similaire la notre

Aprs une courte attente, vous devriez voir safficher une liste droulante dans la fentre auparavant vide. Cette liste est pour linstant vide, car vous navez encore rien envoy Google.

24 Le contenu du SVN s'affichera dans cette fentre

Puisque tout le reste fonctionne, nous allons maintenant voir comment utiliser Subversion.

12

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

5. Utilisation de Subversion5.1.Partage dun projetEn haut droite de votre cran, cliquez sur Resource ou sur la double flche noire puis Resource , pour faire apparatre le Project Explorer contenant vos projets Java ouverts.

25 On peut aussi aller dans Window > Open perspective

Normalement, le Projet Explorer saffiche sur votre gauche. Cliquez droit sur le projet que vous voulez exporter, puis mettez Team en surbrillance, et cliquez sur Share Project .

26 Lier votre projet au SVN

Dans la fentre qui souvre, choisissez SVN , puis cliquez sur Next .

13

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

27 Ce tutoriel ne s'intresse pas au CVS, dont SVN hrite

Ensuite, choisissez Use existing repository location , puis cliquez sur ladresse en-dessous, celle de votre SVN, et sur Next .

28 Vous n'avez pas besoin de redonner l'adresse de votre SVN

Il vous reste choisir le nom du dossier dans lequel sera stock votre projet, puis cliquez sur Next .

29 C'est sous le nom que vous choisissez qu'il apparatra sur Internet

On vous propose de rentrer un commentaire de votre action (visible pour vos collaborateurs). Commentez toutes vos actions, cest un outil prcieux en travail de groupe pour comprendre les modifications de chacun. Ensuite, cliquez sur Finish .

30 Assurez-vous que vos associs comprennent ce dont vous parlez

Enfin, on vous demande de rentrer vos identifiants. Mettez dans Username le nom de votre compte Google, et dans Password celui de Google Code (voir section 3.4). Pensez cocher la case Save Password si vous avez lintention de travailler rgulirement sur le projet. Validez.

31 Votre compte Google est probablement votre adresse Gmail

14

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

Eclipse vous propose ensuite douvrir une interface conue spcialement pour le partage de projets. Cette fentre vous sera trs utile par la suite, mais puisque vous nen aurez pas lutilit pour le moment, refusez.

5.2. Dtails sur le Project Explorer Cette section est dtache de la suite logique du tutoriel, car il est ici meilleur de montrer un exemple que de le crer au fur et mesure. Vous aurez remarqu le changement dicnes dans votre Project Explorer (la fentre en haut gauche), voici quoi ressemble celle dun projet dj dbut :

32 L'affichage diffre quelque peu de l'habituel

Licne indique que Subversion ne sait pas sil y a des diffrences entre votre version et celle du SVN. Comme vous pouvez le voir, la modification dun seul fichier ajoute licne la ramification entire, pour plus de clart. Cela peut arriver aprs un Commit ou toute autre modification : dans ce cas, faites un Synchronize with Repository . Licne indique que le fichier est reli au SVN, et jour. Pour cette icne comme pour la prcdente, un petit texte est affich ct des fichiers. Ce sont respectivement : o o o Le numro de la version en cours, chaque changement cre une nouvelle version. La date de cration de la dernire version Lutilisateur responsable de celle-ci.

Le fichier Serveur.java na aucune icne particulire : il nest pas partag avec les autres, et Subversion ne sen soucie pas. Il sagit dun fichier ignor. Finalement, licne montre un fichier dont le statut est inconnu, il vous faudra lenvoyer ct serveur ou dcider de lignorer. Finalement, non prsente sur limage, il y a licne modifications sont empches par un autre utilisateur. attache un fichier dont les

15

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

5.3.Outils de partageNous allons voir comment accder aux outils de Subversion, et leur utilit chacun. Pour y accder, cliquez droit sur le fichier (ou projet) que vous souhaitez partager (seulement si vous avez partag le projet entier auparavant), puis slectionnez Team . Ils devraient tre visibles dans le menu qui saffiche.

33 Liste des outils de partage (il manque Lock et Unlock sur limage)

16

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

5.3.1.

Synchronize with Repository

Le premier outil est un outil de comparaison entre la version sur laquelle vous travaillez et celle disponible sur le SVN. Il sagit de linterface quEclipse vous proposait douvrir un peu plus tt. La partie gauche de votre cran montre les fichiers tudis qui diffrent dune version lautre, et celle droite montre les diffrences, en haut pour les diffrences de structure, en bas pour les diffrences de code.

34 En cas de diffrence entre les versions, celle-ci est signale

Par ailleurs, lutilisation des outils de Subversion est lgrement simplifie dans ce menu : au lieu de cliquer droit puis daller dans longlet Team , il suffit de cliquer droit. Linterface Team Synchronizing est utile pour voir dun coup dil les changements entre plusieurs versions.

5.3.2.

Commit

Commit envoie le fichier ou le dossier slectionn du ct serveur : une nouvelle version est automatiquement cre, et elle devient accessible pour tous. Cest la mise jour ct serveur, un des outils les plus utiliss. Il est important de commenter chacun de vos commit, pour faire comprendre vos modifications aux autres membres du projet.

5.3.3.

Update to HEAD / Update to Version

HEAD est la dernire version en date, Update to HEAD met jour vos fichiers depuis ceux du SVN avec cette version particulire. Cest le moyen le plus simple de rcuprer le travail des autres. Update to Version permet de rcuprer une version du projet en particulier, et fonctionne par ailleurs de la mme faon.

5.3.4.

Create Patch/ Apply Patch

Un Patch est un outil pour ceux qui laccs aux fichiers du projet a t autoris, mais pas celui de les envoyer directement : il sauvegarde les modifications opres sur un fichier quil faut ensuite envoyer par soi-mme aux autres, et ceux-ci devront utiliser Apply Patch pour travailler avec ces modifications. Moins pratique que Commit/Update, le Patch est une option pour des collaborateurs dtachs du projet par exemple.

17

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

5.3.5.

Branch/Tag

Mme sils sont crs de la mme faon Branch et Tag sont deux objets diffrents : une Branch est une version de travail alternative, tandis quun Tag est un instantan du travail un instant prcis. Par convention, on ne touche plus aux Tags une fois crs, alors quon peut modifier et travailler sur une Branch. Concrtement, il sagit dune faon de copier un ou plusieurs fichiers, avec la possibilit dinteragir entre loriginal et la copie. Il est utile davoir une version stable en version principale, et de travailler sur des modifications dans une Branch. Attention, Branch et Tag sont crs directement sur le SVN, pas en local (et cette cration na pas lair dtre dtecte par Eclipse). Si vous voulez travailler dessus aprs lavoir cr, faites un Update to HEAD , mme si tout vous semble jour.

5.3.6.

Merge / Switch to another Branch/Tag/Revision

Merge est loutil de copie entre deux Branch ou une Branch et la version principale (souvent appele Trunk). Il permet de mettre jour lune par rapport lautre. A ne pas confondre avec Merge, Switch permet de copier galement les modifications dun fichier entre Branch et Branch ou Branch et Trunk. La diffrence, cest que le Switch est utilis pour des copies temporaires, alors que les copies de Merge sont dfinitives . Si vous voulez utiliser un Merge aprs un Switch, Eclipse vous demandera dutiliser nouveau Switch vers une version prcdente. Notez que loption Replace with (accessible par clic droit) est en ralit un Switch, pas un Merge.

5.3.7.

Show

Les outils suivants sont essentiellement des outils daccs aux informations annexes sur les fichiers : - Show History vous donnera lhistorique des modifications, - Show Tree Conflicts ne nous a pas t utile, - Show Property recense les Property (nous verrons plus tard comment traiter celles-ci), - Show Revision Property les Property attaches une seule version (lauteur), - Show Revision Graph est un outil visuel montrant les modifications opres sur un fichier (incluant les Merge et montrant les commentaires de chaque version), - Show Annotations montre les lignes de code dun fichier qui ont t modifies au cours des versions (une barre marron est ajoute gauche de chaque ligne modifie). - Show Local history lhistorique des modifications opres par vous-mme.

18

Subversion (SVN) sous Eclipse (JAVA) avec Google Code11 avril 2011

5.3.8.

Add to Version Control/Add to svn:ignore

Lorsque vous crez un fichier au sein dun dossier partag, licne lui est automatiquement associ : vous pouvez soit dcider de linclure dans les fichiers partags avec Add to Version Control (ou un Commit du fichier), soit ne pas le faire en utilisant Add to svn :ignore . Si jamais vous revenez sur votre dcision et dcidez de le partager, utilisez Add to svn :ignore . Notez quun fichier partag ne peut lui pas tre ignor (mais vous pouvez toujours supprimer ce fichier).

5.3.9.

Set Property

Il y a deux types de Property : celles au nom rserv par Subversion et celles que vous crez. Nous ne nous occuperons pas ici de celles de Subversion (mais nous reviendrons sur needs-lock plus loin), mais seulement de celles cres. Il sagit uniquement dune zone de texte titre que vous associez au fichier (pas une version particulire, attention). Cela vous permet dajouter toutes les informations qui nauraient pas leur place dans les commentaires (dun commit ou du code), comme un rappel de ce qui est rajouter par exemple. Loutil est trs mallable et a de nombreuses applications, nhsitez pas vous familiariser avec son utilisation.

5.3.10.

Autres outils

Il y a plusieurs autres outils, mais leur utilisation est en gnral spcifique et nous navons pas eu les utiliser pour le moment, part pour Revert et Lock/Unlock qui mritent quon sy arrte. Revert permet dannuler des modifications de faon dfinitive, il permet de revenir votre dernier Commit (donc on ne peut pas revert aprs, mais on peut Update sur une autre version). Revert semble diffrent sur dautres versions de Subversion, mais celle dEclipse ne semble proposer que cette option. Soyez srs de navoir rien conserver lorsque vous lutiliser. Lock permet de sassurer que personne ne modifiera un fichier : il bloque les modifications jusqu lUnlock. Cela vous permet de travailler tranquillement sur une version particulire dun fichier. Notez quil sagit dun outil de communication avant tout : nimporte qui peut en ralit Unlock le fichier (et on peut vous voler le Lock), cest surtout un moyen dinformer les autres membres dsirant travailler dessus quils devraient crer une Branch et laisser cette version tranquille. En ralit, Lock et Unlock ne sont pas implants sur le SVN de Google Code, et vous devrez faire sans. Ceci dit, vous pouvez utiliser la proprit svn :needs-lock (dans Set Property), qui aura sous Eclipse peu prs le mme effet (et supprimer la proprit pour lUnlock).

19


Top Related