Faites un Essai

Cette section vous montre comment tester certaines des fonctionnalités les plus couramment utilisés sur un dépôt de test de petite taille. Naturellement, elle n'explique pas tout - ce n'est que le guide de démarrage rapide, après tout. Une fois que vous aurez acquis les bases, vous devez prendre le temps de lire le reste de ce guide, qui vous explique les choses beaucoup plus en détail. Il donne également davantage d'explications sur la manière de bien configurer un serveur Subversion.

Créer un Dépôt

Pour un projet réel, vous utiliserez un dépôt mis en place dans un endroit sûr et un serveur Subversion pour le contrôler. Dans ce tutoriel, nous allons utiliser les fonctionnalités du dépôt local de Subversion qui permet un accès direct à un dépôt créé sur votre disque dur sans avoir besoin d'un serveur.

Tout d'abord, créez un nouveau dossier vide sur votre PC. Il peut être placé n'importe où, mais dans ce tutoriel, nous appelons l'appeler C:\svn_repos. Faites maintenant un clic droit sur le dossier et choisir dans le menu contextuel TortoiseSVNCréer un dépôt ici.... Le dépôt est alors créé à l'intérieur du dossier, prêt à l'usage. Nous allons aussi créer la structure interne par défaut du dossier en cliquant sur le bouton Créer la structure du dossier.

Important

La fonctionnalité de dépôt local est très utile pour des tests et évaluations, mais à moins que vous ne travailliez comme seul développeur sur un seul PC, vous devriez toujours utiliser un serveur Subversion adéquat. Il est tentant dans une petite entreprise d'éviter le travail de mise en place d'un serveur et d'accéder simplement à votre dépôt sur un partage réseau. Ne faites jamais cela. Vous perdrez des données. Lisez la section intitulée « Accéder à un dépôt situé dans un partage réseau » pour savoir pourquoi cela est une mauvaise idée, et comment configurer un serveur.

Importer un projet

Nous avons à présent un référentiel, mais il est complètement vide pour le moment. Supposons que j'aie un ensemble de fichiers dans C:\Projects\Widget1 que je voudrais ajouter. Accédez au répertoire Widget1 dans l'explorateur et faites un clic droit dessus. Maintenant, sélectionnez TortoiseSVN Importer ... qui ouvre une boîte de dialogue

Figure 1.2. La boîte de dialogue Importer

La boîte de dialogue Importer


. Un dépôt Subversion est référencé par une URL, ce qui permet de le spécifier de manière univoque partout sur Internet. Dans notre exemple, nous avons besoin de pointer sur notre propre dépôt local qui a une URL du type file:///c:/svn_repos/trunk, auquel nous allons ajouter notre nom de projet Widget1. Notez qu'il y a 3 barres obliques après file: et que ce sont des barres obliques (et non inverses) qui sont utilisées ensuite.

L'autre caractéristique importante de cette boîte de dialogue est la partie Message important qui vous permet d'écrire un message décrivant ce que vous faites. Quand vous regardez votre historique de projet, ces messages de livraison sont un guide précieux pour savoir quelles modifications ont été faites et pourquoi. Dans notre exemple, on peut écrire quelque chose de simple comme « Importer le projet Widget1  ». Cliquez sur OK et le dossier est ajouté à votre dépôt.

Extraire une Copie de Travail

Maintenant que nous disposons d'un projet dans notre dépôt, nous devons créer une copie de travail à utiliser pour le travail quotidien. Notez que l'action d'importer un dossier ne le convertit pas automatiquement en une copie de travail. Le terme propre à Subversion pour créer une nouvelle copie de travail est Extraire. Nous allons faire une extraction du dossier Widget1 de notre dépôt dans un dossier de développement sur le PC appelé C:\Projects\Widget1-Dev. Créez ce dossier, puis faites un clic droit dessus et choisissez TortoiseSVNExtraire.... Entrez ensuite l'URL sur laquelle faire l'extraction, dans notre cas file:///c:/svn_repos/trunk/Widget1 et cliquez sur OK. Notre dossier de développement est alors rempli avec les fichiers du dépôt.

Important

Dans les réglages par défaut, la commande Extraire n'est pas située dans le sous-menu TortoiseSVN mais est affichée directement dans le menu contextuel de l'explorateur. Les commandes de TortoiseSVN qui ne sont pas dans le sous-menu ont le terme SVN préfixé: SVN Extraire...

Vous remarquerez que l'apparence de ce dossier est différente de celle de notre dossier d'origine. Chaque fichier a une coche verte dans le coin en bas à gauche. Ce sont des icônes d'état TortoiseSVN qui ne sont présentes que dans une copie de travail. L'état vert indique que le fichier est inchangé par rapport à la version dans le dépôt.

Faire des modifications

Il est temps de se mettre au travail. Dans le répertoire Widget 1-Dev, nous commençons à éditer les fichiers - disons que nous apportons des modifications à Widget1.c et ReadMe.txt. Notez que les icônes superposées sur ces fichiers sont passées au rouge, ce qui indique que des modifications ont été apportées en local.

Mais quels sont les changements ? CLiquez droit sur l'un des fichiers modifiés et sélectionnez TortoiseSVNVoir les différences. L'outil de comparaison de fichier de TortoiseSVN démarre, vous montrant exactement quelles lignes ont été modifiées.

Figure 1.3. Visualiseur de différences

Visualiseur de différences


OK, nous sommes satisfaits des changements, mettons à jour le dépôt. Cette action est appelée Livrer des modifications. Faites un clic droit sur le dossier Widget1-dev et sélectionnez TortoiseSVNLivrer. La boîte de dialogue de livraison répertorie les fichiers modifiés, chacun avec une case à cocher. Vous pouvez choisir un sous-ensemble de ces fichiers, mais dans ce cas nous allons livrer les modifications apportées aux deux fichiers. Entrez un message pour décrire en quoi consiste le changement et cliquez sur OK. La boîte de dialogue de progression affiche les fichiers en cours de téléchargement dans le dépôt et vous avez terminé.

Ajouter plus de fichiers

Avec le développement du projet, vous aurez besoin d'ajouter de nouveaux fichiers - disons que vous ajoutez de nouvelles fonctionnalités dans Extras.c et une référence dans Makefile. Faites un clic droit sur le dossier et TortoiseSVNAjouter. La boîte de dialogue Ajouter vous montre maintenant tous les fichiers non versionnés et vous pouvez choisir lesquels vous voulez ajouter. Une autre façon d'ajouter des fichiers serait de faire un clic droit sur le fichier lui-même et de sélectionner TortoiseSVNAjouter.

Maintenant, quand vous allez livrer le dossier, le nouveau fichier apparaît comme Ajouté et le fichier existant comme Modifié. Notez que vous pouvez double-cliquer sur le fichier modifié pour vérifier exactement quels changements ont été effectués.

Voir l'Historique du Projet

L'une des fonctionnalités les plus utiles de TortoiseSVN est la boîte de dialogue de journal. Celle-ci vous affiche la liste de toutes les modifications que vous avez livrées sur un fichier ou un dossier, et montre les messages de changement détaillés que vous avez entrés (vous avez bien entré un message de changement comme suggéré ? Si non, vous voyez maintenant pourquoi c'est important).

Figure 1.4. La boîte de dialogue de journal

La boîte de dialogue de journal


OK, j'ai triché un peu ici, j'ai utilisé une capture d'écran à partir du référentiel TortoiseSVN.

Le panneau supérieur montre une liste des révisions livrées, avec le début du message de livraison. Si vous sélectionnez une de ces révisions, le volet du milieu affiche le message de log complet pour cette révision et le panneau du bas affiche une liste des fichiers et des dossiers modifiés.

Chacun de ces panneaux possède un menu contextuel qui vous donne plusieurs autres moyens d'utiliser les informations. Dans le volet inférieur, vous pouvez double-cliquer sur un fichier pour voir exactement quels changements ont été faits dans cette révision. Lisez la section intitulée « La boîte de dialogue de journal de révision » pour avoir tout le descriptif.

Annuler des Modifications

Une caractéristique de tous les systèmes de contrôle de révision, c'est qu'ils vous permettent d'annuler les modifications que vous avez faites précédemment. Comme on peut s'y attendre, TortoiseSVN facilite cette action.

Si vous voulez annuler les changements que vous n'avez pas encore livrés et reprendre la version précédant vos modifications, le menu TortoiseSVN Revenir en arrière est votre ami. Cela annule vos modifications (en les mettant dans la corbeille, au cas où) et revient à la version livrée avec laquelle vous avez commencé. Si vous voulez annuler seulement quelques-uns des changements, vous pouvez utiliser TortoiseMerge pour voir les différences et annuler, de manière sélective, les lignes modifiées.

Si vous souhaitez annuler les effets d'une révision particulière, lancez la boîte de dialogue de journal et trouvez la révision en question. Sélectionnez menu contextuelAnnuler les changements de cette révision et ces modifications seront annulées.