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.
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 → . 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 .
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.
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:\Projets\Widget1
que je voudrais ajouter. Accédez au répertoire Widget1
dans l'explorateur et faites un clic droit dessus. Maintenant, sélectionnez → qui ouvre une boîte de dialogue.
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 Commentaire de l'import qui vous permet d'écrire un message décrivant ce que vous faites. Quand vous regardez votre historique de projet, ces commentaires 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 « Importation du projet Widget1 ». Cliquez sur et le dossier est ajouté à votre dépôt.
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 → . Entrez ensuite l'URL sur laquelle faire l'extraction, dans notre cas file:///c:/svn_repos/trunk/Widget1
et cliquez sur . Notre dossier de développement est alors rempli avec les fichiers du dépôt.
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é:
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.
Il est temps de se mettre au travail. Dans le répertoire Widget1-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 ? Faites un clic droit sur l'un des fichiers modifiés et sélectionnez
→ . L'outil de comparaison de fichier de TortoiseSVN démarre, vous montrant exactement quelles lignes ont été modifiées.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 → . 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 . 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é.
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 → . 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 → .
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.
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).
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.
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
→ 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
→ et ces modifications seront annulées.