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.

First create a new empty directory on your PC. It can go anywhere, but in this tutorial we are going to call it C:\svn_repos. Now right click on the new folder and from the context menu choose TortoiseSVNCreate Repository here.... The repository is then created inside the folder, ready for you to use. We will also create the default internal folder structure by clicking the Create folder structure button.

Important

La fonctionnalité de dépôt local est très utile pour des tests et évaluations, mais à moins que vous ne travaillez 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

Now we have a repository, but it is completely empty at the moment. Let's assume I have a set of files in C:\Projects\Widget1 that I would like to add. Navigate to the Widget1 folder in Explorer and right click on it. Now select TortoiseSVNImport... which brings up a dialog

Figure 1.2. La boîte de dialogue Importer

La boîte de dialogue Importer


A Subversion repository is referred to by URL, which allows us to specify a repository anywhere on the Internet. In this case we need to point to our own local repository which has a URL of file:///c:/svn_repos/trunk, and to which we add our own project name Widget1. Note that there are 3 slashes after file: and that forward slashes are used throughout.

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

Now that we have a project in our repository, we need to create a working copy to use for day-to-day work. Note that the act of importing a folder does not automatically turn that folder into a working copy. The Subversion term for creating a fresh working copy is Checkout. We are going to checkout the Widget1 folder of our repository into a development folder on the PC called C:\Projects\Widget1-Dev. Create that folder, then right click on it and select TortoiseSVNCheckout.... Enter the URL to checkout, in this case file:///c:/svn_repos/trunk/Widget1 and click on OK. Our development folder is then populated with files from the repository.

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ésents 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 commencer. Dans Widget1-dev nous commençons l'édition des fichiers - disons que nous apportons des modifications à Widget1.c et README.TXT. Notez que les recouvrements d'icône sur ces fichiers sont maintenant passés au rouge, indiquant que des changements ont été effectués localement.

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 ......we are going to commit the changes to both files......(à quoi fait référence "both files", je laisse en Anglais, car je ne sais comment traduire). 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 caractéristiques les plus utiles de TortoiseSVN est la boîte de dialogue de Log. Cette page vous donne une liste de tous les changements que vous avez apportés à un fichier ou un dossier, et montre les messages détaillés associés que vous avez entrés ;-)

Figure 1.4. La boîte de dialogue des commentaires

La boîte de dialogue des commentaires


OK, j'ai triché un peu ici et utilisé une capture d'écran du dépôt TortoiseSVN.

Le panneau supérieur montre une liste des révisions livrés 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 moyens d'utiliser les informations. Dans le volet inférieur, vous pouvez double-cliquez 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 du 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 log et trouvez la révision en question. Sélectionnez menu contextuelAnnuler les changements de cette révision et ces modifications seront annulées.