
Créer un dépôt SVN simplement sous Windows
Bonjour à tous.
Aujourd’hui je vais vous présenter une manière simple et efficace pour créer un dépôt SVN sur un poste équipé de Windows. Pour se faire, nous allons nous munir du très célèbre outil TortoiseSVN disponible en téléchargement sur ce lien en version 1.6.12 à l’heure où j’écris ces lignes. Je ne vous ferais pas de détails sur son installation ou autre sachant que c’est simple et qu’il n’y a pas d’options exotiques à sélectionner lors de l’opération.
Bon nous allons pouvoir commencer, mon installation est terminée.
Allons-y let’s go, c’est parti les zamis geek !
Le but de ce tuto est de vous faire découvrir comment créer un dépôt (repository) SVN sur un poste équipé de Windows sans trop se prendre la tête. L’avantage est que c’est très rapide à faire. Les principaux inconvénients sont qu’il faut obligatoirement un poste sous Windows pour utiliser cette technique, et que l’url de votre dépôt sera du type file:/// … ce que je trouve plutôt désagréable.
Nous allons préparer le terrain en créant un répertoire nommé “SVNRepositories” quelque part sur notre ordinateur. Voici le chemin de mon conteneur de dépôt : D:\Projets\SVNRepositories.
Maintenant que nous avons réalisé ceci, on peut continuer sur la voie de la sagesse liberté gestion de version !
Un dépôt par projet.
Notre conteneur de dépôt va contenir tous nos dépôts SVN, autrement dit, tous nos projets. On va donc commencer par créer un nouveau dossier dans SVNRepositories qui porte le nom de notre projet.
Je créer donc ce dernier et le nomme ColorChooser.
Maintenant, nous allons dire à TortoiseSVN de créer un dépôt sur ce dossier. Pour cela, faite un clic droit sur ColorChooser et sélectionnez l’entrée de menu TortoiseSVN > Create repository here.
Une fois que vous avez cliqué, un message d’information apparaît pour vous dire que le dépôt à été créé avec succès “The repository was successfully created.“. Ouvrez le dossier puis vérifier que le contenu du répertoire est semblable au miens.
Mettre du contenu dans le dépôt
Alors il faut savoir ici comment bien organiser son dépôt afin de garantir une gestion des versions correcte. J’adopte toujours un schéma très connu et très utilisé qui est la séparation du dépôt en trois dossiers : tags, trunk, branches.
Une petite explication sur les 3 répertoires :
- Trunk : Il contient la version de votre projet en cours de développement. Vous effectuez et travaillez principalement sur ce répertoire.
- Tags : Il contient les versions figées de votre projet. C’est à dire quand vous faites une release finale, vous mettez le code source dedans, puis vous n’y touchez plus.
- Branches : Il contient les versions maintenues de votre projet. C’est à dire que si vous êtes en train de développer une version 2.X mais que vous devez maintenir la version 1.X qui est toujours en production, vous aurez la 2.X dans le trunk et la 1.X dans le branches.
J’espère que ceci est assez clair pour vous, sinon n’hésitez pas à poser vos questions en commentaires j’y répondrai sans hésitations et dans la mesure du possible bien entendu.
Maintenant que vous savez à quoi correspond chaque dossier, on va créer dans un répertoire temporaire cette architecture puis nous allons faire un commit pour la mettre sur le serveur.
Ce dossier temporaire, je vous conseil de le garder puisqu’il pourra vous resservir pour chaque nouveau projet que vous allez créer.
Bref, maintenant deux choix s’offrent à nous, soit nous copions nos sources directement dans le trunk et nous avons ainsi le premier commit (la révision 1) qui contiendra tout ce qu’il faut, soit un met d’abord nos trois dossiers et la révision 2 contiendra les sources.
Moi je préfère mettre directement les sources dans le dossier trunk, je trouve ça plus logique, enfin après, chacun son truc … mais la manière de faire est la même pour l’une ou pour l’autre des méthodes.
Je copie dans le trunk mes sources pour mon projet qui est réalisé sous Netbeans. Alors ici, je ne copie que les dossiers src et test de mon projet, les autres dossiers exotique créés par l’EDI pour gérer le projet ne doivent pas être déposer sur le svn, je vous montrerai comment ignorer des dossiers plus tard.
Une fois que vous avez copiez les sources, vous allez faire le premier import sur le dépôt. Pour le faire, clic droit sur le dossier “temporaire” > TortoiseSVN >Import.
Voilà qui va vous ouvrir la fenêtre suivante qui est à compléter comme vous l’entende ; voici la mienne :
l’url du dépôt est en fait la localisation sur le poste, pour moi c’est file:///D:/Projets/SVNRepositories/ColorChooser .
Pour vous ce sera sûrement différent mais le début sera forcément file:/// .
Lorsque vous validez en cliquant sur “OK”, une fenêtre comme celle ci-après devrait apparaître (avec un contenu différent bien entendu).
Voilà , le dépôt est créé et il est tout beau, allons le pourrir un peu avec notre EDI favori. Pour ma part c’est Netbeans.
Utilisons notre joli dépôt
Bon là je lance Netbeans, il est un peu long donc je vous fait patienter un peu …
…
…
…
C’est bon ça y est, on peut enfin commencer. Je ne vais pas trop vous assister pour cette partie sauf sur SVN, certains éléments seront donc peut-être un peu flous pour quelqu’un qui n’a jamais utilisé d’EDI … mais ça m’étonne vachement de vous.
Je créer dans un premier temps un nouveau projet Java pour lequel je ne génère pas la classe principale (Main class). Mon projet se nomme ColorChooser (comme de par hasard !) et ne contient pour le moment rien sauf bien évidemment les dossiers et fichiers créés par Netbeans (build.xml, manifest.mf, nbproject, test, src).
Ensuite, nous allons faire un checkout de notre svn sur notre projet, en gros, on rapatrie le code source. Pour cela, il faut allez sur le menu Team > Subversion > Checkout. La fenêtre s’ouvrent et on nous demande l’url du dépôt, nous mettons donc : file:///D:/Projets/SVNRepositories/ColorChooser
Il nous demande ensuite quel sont les dossiers que nous voulons prendre, il faut sélectionner le dossier trunk et cocher une petite option qui dit de passer le répertoire “trunk” pour ne prendre que son contenu :
Sélectionnez ensuite le chemin du projet que vous venez de créer pour le Local Folder, moi il s’agit de D:\Projets\Java\ColorChooser .
Une fois que c’est fait, vous validez, et l’icône de votre projet doit apparaître avec un petit bidule bleu qui signifie que vous avez fait des modifications par rapport à la version sur le dépôt. Comment c’est possible ? c’est à cause des dossiers générés par Netbeans qui ne sont donc pas sur le SVN, mais qu’on ne veux pas voir dessus. Pour cela, il va falloir les ignorer, et je vais vous montrer comment faire.
Ignorer des fichiers et dossier avec Netbeans
Je vais vous montrer comment faire avec Netbeans, s’il y a beaucoup de demande pour voir d’autres manières de faire, je ferais une mise à jour du tuto. Bref, pour faire ça correctement, nous allons d’abord faire un petit build and run sur notre projet pour que Netbeans génère les répertoires build et dist pour que l’on puisse vérifier qu’ils sont bien ignorés.
Netbeans les ignore par défaut normalement, mais pas les autres. Passez donc sur la vue d’exploration des fichiers (et non des packages). Sélectionnez les dossiers et fichiers à ignorer suivants :
- nbproject
- build.xml
- manifest.mf
Ensuite faite un clic droit > Subversion > Ignore exactement comme sur l’image ci-dessous :
Et voilà , maintenant vous faite un petit commit histoire de tout valider et vous disposez d’un dépôt propre accessible partout depuis votre réseau local ou d’entreprise. Concernant la sécurité et en particulier l’accès à tel ou tel dépôt des personnes du réseau, il faudra regarder du côté des configurations sur le dépôt directement. Peut-être que cela fera l’objet d’un nouveau tuto car c’est une très grosse partie.
Ce tuto est maintenant terminé, si vous n’avez pas compris certains points ou que vous souhaitez avoir plus de précision en général, n’hésitez pas à nous poser des questions via les commentaires.
Allez, à plus tard les zamis geek 😉
Aussi pour créer un repository sur le net gratuit (aux dernières nouvelles) il y a assembla qui propose des hébergements super bien faits (avec trac et tout le toutim). http://www.assembla.com/
Ouais, mais pas seulement … toutes les forges le proposes (Sourceforge, GForge …) mais ayant déjà testé une grande partie de ces plateformes, je trouve parfois que les temps d’accès au serveur et autre sont lents.
Après, ce sont des forges comme je dis, le but principal étant d’encadrer le projet de A à Z avec le bugtracker, le wiki, le site, le svn (git, CVS ou autre) et les outils standards de gestion de projet.
Mais merci quand même pour le lien :p