TortoiseCVS

Guide utilisateur

Ben Campbell

Martin Crawford

Hartmut Honisch

Francis Irving

Torsten Martinsen

Ian Dees


Table of Contents

1. Pour commencer
Qu'est ce que CVS?
Qu'est ce que TortoiseCVS?
Où commencer?
2. Usage Basic de TortoiseCVS
Bac à sable (Sandboxes)
Emprunter un module (Checking out)
Explorateur Windows et TortoiseCVS
Actualiser votre espace de travail (Sandbox)
Valider vos changements dans le réferentiel
Résoudre les conflits
Ajouter des fichiers et répertoires au référentiel
3. Utilisation avancée de TortoiseCVS
Créer un nouveau référentiel ou module
Watch, Edit et Unedit
Baliser
Revenir à une ancienne version d'un fichier
Créer des branches et fusionner (Merging)
Créer une branche
Sélectionner une branche pour travailler dessus
Fusionner depuis une branche
Revenir à la branche principale
Détection binaire et Unicode
Historique des versions de fichiers
Web Log
Faire un fichier patch
4. Références des commandes TortoiseCVS
Installer TortoiseCVS
CVS Emprunter...
CVS Actualiser
CVS --> Actualisation Speciale...
CVS Valider...
CVS Ajouter et CVS Ajouter le contenu...
CVS --> Supprimer
CVS Comparer(Diff)...
CVS --> Balise...
CVS --> Branche...
CVS --> Fusionner...
CVS --> Créer un nouveau module
Watching & Verrouiller
5. Référence des Boites de dialogue de TortoiseCVS
Boite de Dialogue Ajouter
Boite de Dialogue Emprunter (Checkout)
Boite de dialogue Actualisation Spéciale (Update)
Boite de dialogue Valider
Boite de dialogue Branche
Boite de dialogue Créer un nouveau module
Boite de dialogue de progression
Boite de dialogue Baliser (Tag)
Boite de dialogue Preferences
Boite de dialogue Fusionner
Boite de dialogue Historique
Boite de dialogue Schéma des version
I. Articles, Conseils et Astuces
Utiliser TortoiseCVS avec SourceForge
Qu'est ce qui diffère entre CVS etMicrosoft Visual Source Safe
Créer des nouveaux icônes pour TortoiseCVS
Creating new locale for TortoiseCVS

List of Figures

2.1. Fenêtre d'emprunt
2.2. Explorateur Windows et TortoiseCVS
2.3. Actualiser les fichiers et répertoires
2.4. Dialogue Valider
2.5. Fenêtre Ajouter
3.1. Fenètre Créer un nouveau module
3.2. Question: Créer un nouveau référentiel
3.3. Fenêtre Baliser
3.4. Boite de dialogue Branche
3.5. Boite de dialogue Actualisation spéciale
3.6. Boite de dialogue Fusionner
3.7. Boite de dialogue Historique
3.8. Boite de dialogue du schéma de versions
5.1. Boite de Dialogue Ajouter
5.2. Boite de Dialogue Emprunter (Checkout) - Onglet Module
5.3. Boite de Dialogue Emprunter - Onglet Version
5.4. Boite de Dialogue Emprunter - Onglet Options
5.5. Boite de dialogue Actualisation Spéciale (Update)
5.6. Boite de dialogue Valider
5.7. Boite de dialogue de progression
5.8. Boite de dialogue Preferences - Onglet Principal
5.9. Boite de dialogue Preferences - Onglet Option
5.10. Boite de dialogue Preferences - Onglet Outils
5.11. Boite de dialogue Preferences - Onglet Avancé
5.12. Boite de dialogue Preferences - Onglet Fichiers ignorés
5.13. Boite de dialogue Preferences - Jeux d'icônes
5.14. Boite de dialogue Historique
5.15. Boite de dialogue Schéma des version

List of Tables

2.1. Icônes
2.2. menu contextuel obtenu par clic droit

Chapter 1. Pour commencer

Qu'est ce que CVS?

CVS, ou Concurrent Versioning System, est un système de contrôle de version. Les système de contrôle de version sont généralement utilisé comme partie de cycle de développement pour suivre et coordonner les changements du code source au sein de l'équipe de développement.

Par exemple, des bugs se glissent parfois qand le programme est modifier, et vous pouvez ne détecter le bug que longtemps après avoir fait les modifications. Avec CVS, vous pouvez facilement extraire les anciennes versions pour voir exactement quel changement a causé le bug. Ceci peut parfois être d'une grande aide.

Vous pouvez bien sûr enregistrer chaque version de chaque fichier que vous avez créer. Ceci devrait cepandant gaspiller une énorme quantité d'espace disque. CVS stocke toutes les versions d'un fichier dans un fichier unique d'une manière intéligente qui stocke seulement les différences entre les versions.

CVS vous aide aussi si vous faites partie d'un groupe de personnes travaillant sur le même projet. C'est très facile d'écraser les changements des autres même en faisant très attention. Certains éditeurs comme GNU Emacs, essayent d'être sûr que le même fichier n'est jamais modifier par deux personnes en même temps. Malheureusement, si quelqu'un utilise un autre éditeur, cette protection ne fonctionnera pas. CVS résoud ce problème en isolant les programmeurs les uns des autres. Chaque développeur travaille dans son propre bac à sable (sandbox), et CVS fusionne le travail quand chaque développeur a terminé.

Qu'est ce que TortoiseCVS?

TortoiseCVS est client graphique (front-end) destiné à rendre l'utilisation de CVS plus facile et plus intuitive. Il permet aux développeurs de travaillez sur les fichiers contrôlés par CVS directement dans Windows Explorer™.

Un des principales inconvénients de CVS est l'interface en ligne de commande qui est fournie. Beaucoup de développeurs deviennent plus habitué aux environments de développement intégrés graphique (IDEs). TortoiseCVS a pour but de fournir cet environmenet pointe et clique de façon intelligente et intuitive.

Où commencer?

  1. Le meilleur moyen pour apprendre comment utiliser TortoiseCVS est de jouer avec. Commencez par installer TortoiseCVS.

  2. Si vous êtes débutant sur CVS, commencez avec Usage Basic de TortoiseCVS.

  3. Une fois que vous avez appris les bases, regardez les fonctionnalités avancées dansUtilisation avancée de TortoiseCVS.

  4. Pour une complète référence, les chapitres Références des commandes TortoiseCVS et Référence des Boites de dialogue de TortoiseCVS vous aideront à utiliser le meilleur de TortoiseCVS.

  5. Et finalement regardez Articles, Conseils et Astuces pour une complète et apréciable expérience de contrôle de version.

Chapter 2. Usage Basic de TortoiseCVS

Bac à sable (Sandboxes)

CVS a une méthode de travail commune à la plupart des autres systèmes de contrôle de version par le fait que les développeurs peuvent éditer le même fichier en même temps. D'abord vous Emprunter (Checkout) une version d'un code source depuis le référentiel dans une copie locale dans votre ordinateur. Cette copie locale est appelée un bac à sable (sandbox).

Vous éditez alors simplement les fichiers que vous voulez changer. Vous pouvez Ajouter (Add) des nouveaux fichiers et supprimer des fichiers qui ne sont plus nécessaires. Quand vous avez terminé vous Valider (Commit) les changements dans le référentiel.

Si quelqu'un d'autre a changé le même fichier pendant que vous travaillez dessus, alors la validation va échouer. Vous devez alors Actualiser (Update) tout vos fichiers code source depuis le référentiel. Ceci fusionnera automatiquement les changements des autres développeurs dans votre copie du fichier.

Parfois CVS ne peut pas le faire automatiquement, par exemple si vous avez tous-les-deux changé la même ligne de code. On appelle ceci un Conflit . Les conflits se produisent beaucoup moins souvent que vous pouvez le croire. CVS met les deux versions du code conflictuel dans le fichier, en marquant chacun d'eux. Vous éditez alors manuellement le fichier pour résoudre le conflit avant que vous puissiez valider les changements.

Cette méthode de travail a beaucoup d'avantages. Chaque développeur travaille dans un bac à sable. Les changements qu'un autre développeur effectue sont isolés de vous jusqu'à ce que vous réstituiez (check in) vos changements. Cela empèche un goulot d'étranglement dans lequel des gens ne peuvent pes faire des choses parce que quelqu'un d'autre a le fichier extrait (checked out). N'importe quel développeur peut travailler sur des fichiers sans directement accéder au serveur, il a seulement besoin de se connecter pour les actualisations (update) et les validations (commit).

Emprunter un module (Checking out)

Obtenir un module du serveur CVS pour la première fois, s'appelle un emprunt (checkout). Emprunter un module du référentiel créer une copie local du module (sandbox).

Figure 2.1. Fenêtre d'emprunt

Fenêtre d'emprunt

Pour effectuer un emprunt, cliquez droit sur le répertoire où vous voudriez placer le module, et choisisez Emprunter... dans la pop-up. La Boite de Dialogue Emprunter (Checkout) apparaitra avec les champs suivant:

  • Protocole Le protacole à utiliser pour communiquer avec le référentiel CVS distant.

  • Serveur Le nom du serveur hébergeant le référentiel CVS distant.

  • Port Le port du référentiel CVS distant. Pas toujours requis.

  • Dossier de référentiel L'emplacement du référentiel CVS sur le serveur distant.

  • Nom d'utilisateur Le nom d'utilisateurde votre compte pour le référentiel CVS.

  • CVSROOT La chaine de connexion, comprenant les champs précédent. Souvent on vous a donné la chaine de connexion dans ce format, auquel cas vous pouvez juste la copier ici.

  • Module Le nom du module que vous vouler emprunter. Le nom du module est sensible à la casse.

Vous aurez besoin de connaitre cette information par avance. La plupart des projets ont de la documentation (souvent en-ligne) sur comment se connecter et emprunter leurs modules. De plus, votre chef de projet devrait être en mesure de vous fournir cette information.

Note: Il est plus facile de choisir votre configuration d'emprunt de projet maintenant que de déplacer votre projet sur un serveur différent plus tard. Par exemple, si votre serveur offre deux protocoles CVS différents, soyez sûr de prendre celui le plus adapté à vos besoins.

A folder named after the module will be created within the folder you checkout to, so you can keep all your checked out modules in the same folder, even if they are for different projects.

Pour plus d'informations voir CVS Emprunter...

Explorateur Windows et TortoiseCVS

Après avoir emprunter un module, nous pouvons maintenant explorer comment TortoiseCVS fonctionne avec Windows™. Vous noterez que vos fichiers apparaisent dans l'explorateur Windows avec différents icones. De plus, si vous utilisez soit Windows 2000™ soit Windows XP™ vous verrez aussi de nouvelles colonnes CVS dans la vue Détails de l'explorateur Windows.

Figure 2.2. Explorateur Windows et TortoiseCVS

Explorateur Windows et TortoiseCVS

L'icône indique le statut d'un fichier ou répertoire dans CVS. La figure suivante indique les status correspondants pour chaque icônes:

Table 2.1. Icônes

Icône non modifié

Non modifié

Ce fichier ou répertoire est à jour avec la version du référentiel CVS.

Icône modifié

Modifié

Ce fichier ou répertoire a été modifié par rapport à la version du référentiel CVS.

Icône de conflit

Conflit

Ce fichier ou répertoire est en conflit avec la version du référentiel CVS.

Icône pas dans CVS

Pas dans CVS

Ce fichier ou répertoire n'est pas dans le référentiel CVS.

Icône CVS Watch

CVS Watch

Ce fichier ou répertoire est sous le contrôle de CVS Watch.

Icône ignoré

Ignoré

Ce fichier ou répertoire est ignoré par le référentiel CVS.

Vous interagissez avec TortoiseCVS en cliquant droit dans l'explorateur Windows et en choisissant CVS opérations dans le menu contextuel. Les fichiers et répertoires concernés par l'opération dépendent de ce que vous avez sélectionner et d'où vous avez cliqué:

Table 2.2. menu contextuel obtenu par clic droit

Sélection de fichier(s)

Un ou plusieurs fichiers sélectionnés, l'opération est effectuée sur ces fichiers.

Selection de répertoire(s)

Un ou plusieurs répertoires sélectionnés, l'opération est effectuée sur ces répertoires et les fichiers ou répertoires contenus.

Ailleurs dans l'explorateur

Ailleurs dans l'explorateur, l'opération est effectuée sur tous les fichiers et répertoires de la vue.

Actualiser votre espace de travail (Sandbox)

Occasionellent vous voudrez que les changements fait par d'autres soient incorporés dans votre copie de travail locale. Le processus de récuparation des changement depuis le serveur dans votre copie locale s'appelle Actualisation (Updating). L'actualisation devrait être faites sur un seul fichier, un jeu de fichier sélectionné, ou récursivement sur la hiérarchie d'un répertoire. Pour actualiser, mettez en surbrillance les fichiers et/ou répertoires que vous voulez, cliquer droit et sélectionnez CVS Actualiser. La Boite de dialogue de progression apparaitra affichant la progression de l'actualisation.

Figure 2.3. Actualiser les fichiers et répertoires

Actualiser les fichiers et répertoires

Les changements effectués par d'autres seront fussionnés dans vos fichiers, gardant les changements que vous pouvez avoir effectués dans les même fichiers. Le référentiel n'est pas affecter par l'action d'une actualisation.

Si vous obtenez des rapports de conflits pendant un update, veuillez lire Résoudre les conflits.

Pour plus d'informations voyez CVS Actualiser.

Valider vos changements dans le réferentiel

Rendre les modifications locales disponibles dans le référentiel s'appelle valider (committing). Avant de valider, vous devriez actuliser pour être sûr qu'il n'ya pas de conflits (voir Actualiser votre espace de travail (Sandbox)).

Pour valider vos changements commencez par sélectionner les fichier(s) ou répertoire(s) que vous voulez valider. Cliquer droit sur la sélection, et choisissez l'item du menu CVS Valider....

Figure 2.4. Dialogue Valider

Dialogue Valider

La Boite de dialogue Valider se présentera alors où vous pouvez entrer un bref résumé de ce qui a changé. Vous pouvez également exlure des fichiers modifiés de la validation en décochant leurs checkboxes. Quand vous êtes satisfait de ce que vous valider, cliquez sur OK dans la fenêtre pour déclencher l'opération de validation.

Veuillez noter que valider les changements n'ajoutera pas automatiquement les nouveaux fichiers que vous avez créés au référentiel. Voir Ajouter des fichiers et répertoires au référentiel sur comment ajouter des fichiers.

Pour plus d'information voyez CVS Valider....

Résoudre les conflits

Parfois, le serveur CVS reportera un conflit quand vous actualiserez vos fichiers depuis le référentiel. Un conflits se produit quand deux ou plusieurs développeurs ont changé les même lignes d'un fichier. Comme CVS ne sait rien de votre projet, il laisse les développeurs résoudre les conflits. Quand un conflit se produit, vous devez ouvrir le fichier en question, et chercher les lignes commençant par la chaine <<<<<<<.

La région conflictuelle est marqué comme ceci:

<<<<<<< nom du fichier
  vos changements
=======
  code  du référentiel à fusinner
>>>>>>> version
      

Vous devez décider à quoi le code doit ressembler, faire les changements nécessaires, supprimmer les balises CVS, et Valider vos modifications dans le référentiel.

Ajouter des fichiers et répertoires au référentiel

Si vous créez des nouveaux fichiers ou répertoires vous remarquerez qu'ils apparaissent avec l'icône de status Pas dans CVS (voir Explorateur Windows et TortoiseCVS). Pour mettre de nouveaux fichiers ou répertoires sous le contrôle de CVS sélectionnez les item(s) que vous voulez ajouter, cliquer droit et choisissez CVS Ajouter dans le menu contextuel pour programmer l'addition. La Boite de Dialogue Ajouter est affichée pour que vous puissiez vérifier les fichiers que vous ajouter.

Figure 2.5. Fenêtre Ajouter

Fenêtre Ajouter

Vous n'avez pas à vous préoccuper de savoir si un fichier est ASCII/Texte, Unicode/Texte, ou Binaire car TortoiseCVS le détecte automatiquement. Pour en savoir plus la dessus voyez Détection binaire et Unicode.

Après qu'une opération Ajouter est été effectuée, le ou les fichier(s) icône(s) apparaissent comme "changés". C'est parce que les ajouts sont traités comme des changements locaux et ne sont pas appliqués au référentiel jusqu'à vous les Validiez.

De plus, vous pouvez ajouter un certains nombre de fichiers ou répertoires à CVS en utilisant la commande CVS Ajouter le contenu.... Cette opération descends récursivement dans la structure de répertoires, et affichent tous les fichiers non ajoutés dans la fenêtre d'Ajout. Ici vous pouvez cocher et décocher les fichiers et répertoires à ajouter à CVS.

Pour plus d'informations, voyez CVS Ajouter et CVS Ajouter le contenu....

Chapter 3. Utilisation avancée de TortoiseCVS

Créer un nouveau référentiel ou module

Typiquement un administrateur système créera le référentiel CVS sur le serveur distant. TortoiseCVS, toutefois, peut configurer des référentiels et modules soit localement ou à distance (si vous avez à corriger les permissions).

Pour créer un nouveau référentiel et/ou module, préparez les répertoires et fichiers localement comme un nouveau bac à sable (sandbox). Cliquez droit sur le répertoire sommet de la hiérarchie pour votre nouveau module ou référentiel et choisissez l'item CVS --> Créer un module.... La Boite de dialogue Créer un nouveau module sera affichée. Entrez les détails pour le référentiel CVS nouveau ou existant comme vous le feriez pour un Emprunt. Cliquez Ok pour créer le nouveau module.

Figure 3.1. Fenètre Créer un nouveau module

Fenètre Créer un nouveau module

Si le serveur distant CVS peut être atteint mais que le référentiel CVS n'éxiste pas, la question suivante se présentera:

Figure 3.2. Question: Créer un nouveau référentiel

Question: Créer un nouveau référentiel

Pour créer le nouveau référentiel, valider la coche Générer un référentiel ici et cliquez Ok. Si vous avez les bonnes permissions sur le serveur distant TortoiseCVS créera le nouveau référentiel.

Une fois que TortoiseCVS a soit créer un nouveau référentiel CVS soit s'est connecté à un référentiel CVS existant le nouveau module va être créé. Par défaut TortoiseCVS utilise le nom du répertoire sélectionné pour le nom du nouveau module, mais vous pouvez le changer en modifiant la boite texte Module.

Watch, Edit et Unedit

CVS peut aussi suivre la sémantique de Verrouillé/Dévérouillé (Lock/Unlock) que la plupart des systèmes de contrôle de versions utilisent, bien que CVS apelle ça Edit/Unedit. Cette fontionnalité, toutefois, n'est pas activé dans CVS par défaut donc avant que vous puissiez commencer vous devez activer Watch.

Vous pouvez activer Watch en utilisant TortoiseCVS quand vous Créer un nouveau Module en activant la checkbox Emprunter les fichiers en lecture seule. Si vous voulez activer watch sur un module existant, vous devrez exécuter les commandes suivantes (en utilisant l'invite de commande) sur le haut du module:

cvs watch on

Une fois que Watch est activé, quand vous effectuez un Emprunt ou une Actualisation le fichier de travail sera créé en lecture seule. Pour changer un ou plusieurs fichiers, sélectionnez le répertoire, fichier ou fichiers que vous voulez modifier. Cliquer droit sur la sélection et choisissez l'item du menu CVS Prendre la main. Cette commande fonctionne légèrement différemment selon que le fichier est texte ou binaire. Pour les fichiers binaires (comme les .doc), TortoiseCVS effectue une Actualisation sur le fichier puis vérifie si un autre utilisateur est déjà en train d'éditer le fichier. Si c'est le cas, vous ne serez pas autorisé à l'éditer. Pour les fichiers texte (comme les .txt ou .cpp), vous pouvez travailler sur le fichier même si un autre utilisateur travaille déjà dessus; dans ce cas, TortoiseCVS vous informera de ce fait.

Quand vous avez fini de travailler sur le ou les fichiers Validez les comme vous le feriez normalement. Si, toutefois, vous décidez que vous ne voulez pas faire les changements, sélectionnez le ou les fichiers, cliquez droit sur cette sélection et choisissez l'item du menu CVS --> Libérer TortoiseCVS vous demandera si vous rétablir la dernière version du référentiel(et ainsi perdre vos changements).

Si vous voulez voir quels fichiers est actuellement édités et par qui, cliquez droit n'importe où dans l'explorateur Windows et choisissez l'item du menu CVS --> Montrer les fichiers modifiés.

Baliser

A un stade donné du développement, donné à un ou plusieurs fichiers une balise (label) commune qui se rapporte à leurs versions, s'appelle baliser ces fichiers. Les balises sont typiquement utilisés sur des modules entiers, ainsi l'état courant du module peut être reconstruit dans le futur. Cette sorte de balises devrait être toujours utilisé sur les livrables projet, et avant de commencer des changements majeurs.

Pour baliser un ou plusieurs fichiers ou répertoires avec une balise, sélectionnez le répertoire, fichier ou fichiers que vous voulez baliser. Cliquez droit sur la sélection, et choisissez l'item CVS --> Baliser...

Figure 3.3. Fenêtre Baliser

Fenêtre Baliser

On vous présente alors la Boite de dialogue Baliser (Tag) . Ici vous pouvez entrer une balise dans le champ Balise. CVS est assez réstrictif quand aux caractères qu'une balise doit contenir. Une balise doit commencer avec une lettre, et doit conternir des lettres, des chiffres, des "-" (tirets) et des "_" (souligné) seulement. En particulier, cela signifit pas de points, ni espaces. Si vous voulez inclure des numéros de version dans la balise, remplacez les points avec des tirets. Deux noms de balise sont réservés, car ils ont une signification spéciale dans CVS: "HEAD" réfère à la verson la plus récente diponible dans le référentiel, tandis que "BASE" est la dernière version que vous avez emprunter dans le répertoire local.

Une fois que la balise est entrée, cliquez le boutton OK. Comme la plupart des opérations CVS, la balise est immédiatement appliquée au référentiel, et aucune validation n'est nécessaire.

Pour plus d'informations, voyez CVS --> Balise....

Revenir à une ancienne version d'un fichier

Les développeurs ont occasionnellement besoin d'annuler des changements qui ont déjà été validés. Revenir à une version spécifique dans TortoiseCVS est facile:

  1. Cliquer droit sur le fichier et sélectionner CVS --> Historique pour afficher la Boite de dialogue Historique.

  2. Cliquer droit sur la version dont vous avez besoin et choisissez l'option "Enregistrer cette version sous...".

  3. Qand la boite de dialogue enregistrer sous apparait, ne cliquez pas le bouton "Enregister"; au lieu de ça, double cliquez sur le nom du fichier dans la liste du répertoire.

  4. Répondez "Oui" quand TortoiseCVS vous demande si vous voulez remplacer le fichier.

Créer des branches et fusionner (Merging)

Une des fonctionnalités des systèmes de contrôle de version, est la possibilité d'isoler des changements dans une ligne de développement séparée. Cette ligne est connu sous le nom de Branche.

Créer des branches est utile pour contrôler les changements durant le cycle de vie un projet logiciel. Par exemple, supposez que vous avez fait la première release de votre projet logiciel version 1.0. Vous commencez maintenant à ajouter des nouvelles fonctionnalités en prépération pour la prochaine release majeure 2.0. Entre votre release initiale et le nouvelle version on découvre qu'il y a des bugs dans le logiciel. La version (revision) courante du code source est dans un état de changements permanents et n'est pas supposé être stable pour au moins un autre mois et de plus il n'est pas possible de faire une correction (bugfix release) basé sur les nouvelles sources.

Au lieu d'essayer de fixer le bug sur la version courente, ou la branche HEAD, vous créerez une branche sur l'arbre des versions pour tous les fichiers qui constituent la release 1.0. Vous pouvez alors faire les modifications sur la branche sans perturber la branche head. Quand les modifications sont terminées vous pouvez soit les incorporer sur la branche head ou les laisser sur la branche de la release 1.0.

Créer une branche

Pour créer une branche, sélectionnez le repertoire ou fichiers pour lesquels vous voulez une branche. Cliquez droit sur la sélection, et choisissez CVS --> Branche... dans le menu contextuel.

Figure 3.4. Boite de dialogue Branche

Boite de dialogue Branche

On vous présente alors la Boite de dialogue Branche. Ici vous pouvez entrer une étiquette dans le champ Nouvelle Branche Les même restrictions de nom que celles qui s'appliquent pour les Balises, s'appliquent aussi. Une fois que vous avez entré le nom de branche désiré cliquez sur Ok. Comme la plupart des opérations CVS, la branche est immédiatement appliquée au référentiel, et une validation n'est pas requise. La branche, toutefois, est seulement appliquée sur le référentiel. Pour commencer à travailler sur la branch nouvellement créée selectionnez la branche pour travailler dessus.

Sélectionner une branche pour travailler dessus

Pour commencer à travailler sur une branche au lieu de la ligne de développement par défaut, vous devez atacher votre copie locale à la branche. Il est utile d'être sûr que les actions comme les actualisations (update), validations (commit), etc. se passe sur la branche au lieu de la ligne principale de développement.

Pour remplacer votre copie locale par une autre branche, sélectionnez le répertoire le plus élevé du projet. Vous pouvez aussi sélectionner les répertoires et fichiers qui font partis de la branche désirée si vous connaissez cette information. Cliquer droit sur la sélection, et choisissez CVS --> Actualisation Spéciale....

Figure 3.5. Boite de dialogue Actualisation spéciale

Boite de dialogue Actualisation spéciale

On vous présente alors la Boite de dialogue Actualisation Spéciale (Update). Ici vous pouvez entrer le nom de la branche que vous voulez sélectionner dans le champ Extraire la balise/branche/version. Cliquer le boutton Ok, et TortoiseCVS fera ensuite les nécessaires actualisations pour transférer votre vopie de travail en la branche désirée. La mise à jour devrai aussi inclure les fichiers ajoutés ou supprimés en fonction de l'état de la branche.

TortoiseCVS met ce que l'on appelle des balises collantes (sticky tags) sur les fichiers qui sont affectés par la branche. Pour effacer les balises collantes vous devez revenir à la branche principale (HEAD).

Fusionner depuis une branche

Quand vous êtes satisfaits des changements que vous avez effectués sur une branche, vous voudrez que ces changements soit disponibles sur la branche principale de développement. Incorporer des changements d'une branche dans une autre, s'appelle fusionner (merging).

Pour fusionner depuis une branche, remplacez votre copie locale par la branche dans laquelle vous voulez fusionner les changements. Voyez Sélectionner une branche pour travailler dessus ou Revenir à la branche principale. Sélectionnez le répertoire du projet de plus haut niveau. Vous pouvez aussi sélectionner les répertoires et fichiers exacts qui font partie de la branche désirée si vous connaissez cette information. Cliquez droit sur la sélection, et choisissez CVS --> Fusionner....

Figure 3.6. Boite de dialogue Fusionner

Boite de dialogue Fusionner

On vous présente alors la Boite de dialogue Fusionner. Ici vous pouvez entrer le nom de la branche que vous voulez fusionner dans le champ Début. Cliquez le bouton Ok, et TortoiseCVS va ensuite fusionner la branche spécifiée dans votre copie locale. Vos changements ne seront pas fait sur le référentiel du serveur, jusqu'à ce que vous validiez vos changements.

[NDT:Paragraphe plus d'actualités à priori, au vue des modifications (tag de Début, tag de fin) effectué dans TortoiseCVS (Je ne traduit donc pas...)] The merge given above will try to merge changes from the start of the branch. If you do the operation a second time (to merge changes done to the branch after the last merge), merging from the start of the branch is not what you want, and it will most likely get you into trouble. To get around this problem, you should give the branch a new tag after every merge, and use the new tag when naming the branch for subsequent merges.

Revenir à la branche principale

Si vous voulez arrêter de travailler sur une branche et remplacer votre copie locale par la ligne principale de développement, vous devez demander à TortoiseCVS de supprimer toutes les balises collantes.

Pour supprimer les balises collantes, et ainsi actualiser votre copie locale avec la ligne de développement principale, sélectionnez le répertoire du projet de plus haut niveau. Vous pouvez aussi sélectionner les répertoires et fichiers exacts qui font parti de la branche désirée si vous connaisser cette information. Cliquez droit sur la sélection, et choisissez CVS --> Actualisation Spéciale....

On vous présente alors la Boite de dialogue Actualisation Spéciale (Update). Sélectionnez la checkbox Revenir à la branche principale (HEAD) et cliquez sur le bouton Ok. TortoiseCVS fera alors les actualisations nécessaires pour remplacer votre copie de travail par la branche principale.

Détection binaire et Unicode

TortoiseCVS essaie de détecter automatiquement le type de fichier que vous ajouter à CVS. Il peut détecter si le fichier est Texte/ASCII, Texte/Unicode, ou Binaire. TortoiseCVS vérifie d'abord l'extension du fichier pour déterminer si le fichier est binaire ou texte. Par exemple “.doc” et “.exe”, sont toujours supposés être binaires alors que d'autres extensions, comme “.cpp” et “.txt”, sont toujours supposées être texte. TortoiseCVS effectue cela en utilisant une liste interne (built-in), d'extensions binaires et textes qui inclus la plupart des extensions de fichiers connues. Pour personnaliser cette liste, vous pouvez copier le fichier “TortoiseCVS.FileTypes” du répertoire d'installation de TortoiseCVS dans votre répertoire HOME et l'éditer en fonction de vos besoin.

Par défaut TortoiseCVS examinera aussi les 4000 premiers octets d'un fichiers pour déterminer le type. C'est utile dans les cas où l'extension n'est pas connu. Ces quelques premiers octets sont aussi utilisés pour déterminer si le fichier est Texte/ASCII ou Texte/Unicode.

TortoiseCVS fournit aussi un mécanisme sophistiqué de plugin qui permet d'implémenter une DLL pour effectuer la détection du type de fichier. Les détails de cette interface de plugin sont aussi disponible dans le fichier “FileTypes.config”.

Dans tous les cas, la Boite de Dialogue Ajouter présente les fichiers que vous être sur le point d'ajouter et leurs types, vous avez ainsi la chance de corriger les choix effectués.

Historique des versions de fichiers

TortoiseCVS fournit deux méthodes de revue et de travail sur l'historique d'un fichier. La première est via la Boite de dialogue Historique. Vous pouvez voir l'historique d'un fichier en le sélectionnant et en cliquant droit puis en choisissant CVS --> Historique....

Figure 3.7. Boite de dialogue Historique

Boite de dialogue Historique

La boite de dialogue Historique montre un log des revisions, balises (tags), et branches pour le fichier sélectionné. Elle vous offre aussi l'opportunité, en cliquant droit sur une version spécifique, balise, ou branche, de comparer (diff), d'enregistrer la version localement, ou d'extraire avec balises collantes (un concept CVS avancé; généralement l'option Enregistrer est préférable à une extraction collante(stiky update)). Vous pouvez aussi éditer un message de validation (courant ou précédent) en cliquant sur une révision et en tapant dans la zone de texte en bas de la fenêtre.

TortoiseCVS fournit aussi un Boite de dialogue Schéma des version pour vous montrer graphiquement l'historique d'un fichier. Vous pouvez voir un schéma des version de fichiers en le sélectionnant et en cliquant droit puis en choisissant CVS --> Schéma des versions.

Figure 3.8. Boite de dialogue du schéma de versions

Boite de dialogue du schéma de versions

Comme la boite de dialogue Historique, le schéma de versions vous autoriqe à voir les détails et à effectuer des opérations CVS sur chaque version, balise, ou branche.

Web Log

Faire un fichier patch

Parfois vous individuellement pouvez avoir les droits d'accès en lecture à un référentiel CVS ou module, mais pas l'accès en écriture. Les projets Open Source (libres) travaille typiquement de cette façon pour maintenir un contrôle de qualité pour tous les contributerus à un projet. Le plus facile et le plus sûr moyen pour contribuer aux changements de ces projets est de créer un Fichier Patch pour le leur soumettre.

Dans TortoiseCVS c'est réalisé en sélectionnant les répertoires, ou fichiers avec des changements que vous voulez inclure dans le fichier patch. Cliquez droit sur vos sélections et choisissez CVS --> Créer un patch... dans le menu contextuel. On vous présentera alors une boite de dialogue enregistrer pour indiquer où enregistrer le fichier patch. Finallement TortoiseCVS ouvrira le nouveau fichier Patch dans Notepad, où vous pouvez valider vos changements.

Chapter 4. Références des commandes TortoiseCVS

Ce chapitre est écrit pour illustrer les principales caractéristiques et fonctionnalités de TortoiseCVS. Il suppose que a) vous avez déjà une compréhension de CVS et b) vous avez accès à un serveur CVS déjà installé avec un référentiel CVS créé. Si vous êtes un novice en CVS veuillez vous référer à la section "TortoiseCVS pour les débutants."

Installer TortoiseCVS

  1. Téléchargez la dernière version de TortoiseCVS depuis le site web (http://tortoisecvs.org/) et enregistez la dans un emplacement temporaire sur votre disque dur.

  2. Exécuter l'installeur. Si vous éxécutez Windows NT, 2000, ou XP vous devez avoir des privilèges d'administrateur local pour installer TortoiseCVS correctement.

  3. Choisissez l'emplacement d'installation de TortoiseCVS (par défaut: “C:\Program Files\TortoiseCVS”).

  4. Choisissez le type d'installation, soit “Full”, “Compact”, ou “Custom installation”. Si vous désirez le support d'internationalisation, vous devez utiliser soit “Full” soit “Custom installation”.

  5. Une fois que l'installeur a terminé, vous devez redémarrer l'ordinateur pour que TortoiseCVS finissent son installation. [1]

CVS Emprunter...

Abstract

Créer un bac à sable local depuis le référentiel CVS.

  1. Créer un répertoire pour le bac à sable dans l'explorateur Windows

  2. Cliquez droit sur le répertoire.

  3. Sélectionnez CVS Emprunter... dans le menu contextuel.

  4. La Boite de Dialogue Emprunter (Checkout) apparaitra. A partir d'ici vous pouvez soit entrer le référentiel CVSROOT dans le champ CVSROOT, soit construire un CVSROOT en utilisant les champs Protocole , Serveur, Port, Dossier du référentiel, et Nom d'utilisateur.

  5. Si vous connaissez le nom du module vous pouvez l'entrer dans le champ module. Inversement, vous pouvez emprunter un référentiel entier en entrant un point (.) dans le champ Module. Si vous ne connaissez pas le nom du module vous pouvez cliquer sur Dresser la liste pour remplir la liste déroulante avec les modules disponibles. Note: certains serveurs CVS ne supporte pas cette fonctionnalité; si vous ne pouvez pas remplir cette liste vous pouvez contacter l'administrateur du serveur CVS.

  6. Cliquer Ok pour emprunter dans le bac à sable.

  7. En fonction du protocole et de si c'est le premier emprunt à partir de ce référentiel CVS, on vous demandera d'entrer le mot de passe. Entrez le mot de passe dans la boite de dialogue et cliquez Ok.

  8. La Boite de dialogue de progression apparaitra, qui fournit un détail du status des fichiers qui sont empruntés par TortoiseCVS. Par défaut cette boite de dialogue se fermera après que l'opération soit terminée, à moins qu'il est rencontré un problème.

CVS Actualiser

Abstract

Syncchronise un bac à sable local avec un référentiel CVS.

  1. Pour actualiser un répertoire cliquez droit soit sur celui-ci soit avec celui-ci dans l'explorateur (mais pas sur un fichier spécifique) ou pour actualisez un ou plusieurs fichiers sélectionnez les fichiers à actualiser et cliquez droit sur ceux-ci.

  2. Selectionnez CVS Actualiser dans le menu contextuel.

  3. La Boite de dialogue de progression apparaitra pour fournir un status détaillé des fichiers qui sont actualisés par TortoiseCVS. Par défaut cette boite de dialogue se fermera après l'opération, à moins que un problème soit rencontré.

CVS --> Actualisation Speciale...

  1. Pour actualiser un répertoire cliquez droit soit sur celui-ci soit avec celui-ci dans l'explorateur (mais pas sur un fichier spécifique) ou pour actualisez un ou plusieurs fichiers sélectionnez les fichiers à actualiser et cliquez droit sur ceux-ci.

  2. Selectionnez CVS --> CVS Actualisation Speciale... dans le menu contextuel.

  3. La Boite de dialogue Actualisation Speciale apparait. Entrez dans le champ texte Extraire la balise/branche/version: soit le numéro de version (i.e. “1.3”), Balise (i.e. “release_1_1_0”), ou Branche (i.e. “vendorx_branch”) pour changer vorte copie du bac à sable.

  4. La Boite de dialogue de progression apparaitra pour fournir un status détaillé des fichiers qui sont actualisés par TortoiseCVS. Par défaut cette boite de dialogue se fermera après l'opération, à moins que un problème soit rencontré.

CVS Valider...

  1. Pour valider les changements cliquez droit soit sur le répertoire soit sur des fichiers sélectionnés.

  2. Sélectionnez CVS Valider... dans le menu contextuel.

  3. La Boite de dialogue Valider apparaitra, qui vous permettra d'entrer un commentaire pour la validation. De plus, vous pouvez choisir quels changements valider en cochant les fichiers individuels dans la liste.

  4. Cliquez Ok une fois que vous avez entrer les commentaires appropriés et sélectionner les changements à valider.

  5. La Boite de dialogue de progression apparaitra pour fournir un status détaillé des fichiers qui sont validés par TortoiseCVS. Par défaut cette boite de dialogue se fermera après l'opération, à moins que un problème soit rencontré.

CVS Ajouter et CVS Ajouter le contenu...

  1. Pour ajouter des fichiers ou répertoires à CVS sélectionnez et cliquez droit sur les les fichiers ou répertoires que vous voulez ajouter. Ces fichiers doivent avoir le statut CVS: pas dans CVS.

  2. Si vous avez sélectionné un répertoire on vous fournit l'option d'Ajouter Récursivement dans le menu contextuel. Cette option ajoutera tous les fichiers dans le répertoire sélectionné ainsi que ses sous-répertoires. Sinon, pour seulement ajouter ces fichiers ou répertoires sélectionnés selectionnez Ajouter dans le menu contextuel.

  3. La Boite de dialogue de progression apparaitra pour fournir un status détaillé du processus d'ajout effectué par TortoiseCVS. Par défaut cette boite de dialogue se fermera après l'opération, à moins que un problème soit rencontré.

CVS --> Supprimer

  1. Pour supprimer un ou plusieurs fichiers du référentiel CVS sélectionnez les fichiers désirés à supprimer et cliquez droit sur ceux-ci.

  2. Sélectionnez CVS --> Supprimer dans le menu contextuel.

  3. TODO: Finish these steps.

CVS Comparer(Diff)...

  1. Pour comparer un fichier avec une version différente du référentiel CVS, sélectionnez le fichier désiré et cliquez droit sur celui-ci.

  2. Selectionnez CVS Comparer dans le menu contextuel.

  3. Si c'est la première fois que vous utiliser la comparaison dans TortoiseCVS, on vous demandera de sélectionner une application externe de comparaison (diff). WinMerge et ExamDiff sont tous deux disponibles gratuitement et sont tout désigné pour le code source basé sur du texte. Si vous développez dans le langage de programmation LabVIEW, vous pouvez utiliser LVDiff pour comparer vos schémas blocs visuellement. CSDiff est conçu pour comparer différentes versions de documents Word. Pour utiliser une combinaison d'outils de comparaison basé sur le type de fichiers que vous comparer, essayez meta-diff.

  4. TortoiseCVS lancera l'otil de comparaison que vous avez choisi et comparera votre copie locale du fichier sélectioné avec la version du référentiel. Pour des options de comparaison plus sophistiqués (comme comparer à une ancienne copie du référentiel ou comparer deux anciennes versions entre elles), voyez Historique des versions de fichiers.

CVS --> Balise...

Note

TODO: Write...

CVS --> Branche...

Note

TODO: Write...

CVS --> Fusionner...

Note

TODO: Write...

CVS --> Créer un nouveau module

Note

TODO: Write...

Watching & Verrouiller

Note

TODO: Write...



[1] Gooviness... sigh!

Chapter 5. Référence des Boites de dialogue de TortoiseCVS

Ce chapitre détaille chaque boite de dialogue de TortoiseCVS.

Boite de Dialogue Ajouter

Figure 5.1. Boite de Dialogue Ajouter

Boite de Dialogue Ajouter

Note

TODO: Write

Boite de Dialogue Emprunter (Checkout)

Figure 5.2. Boite de Dialogue Emprunter (Checkout) - Onglet Module

Boite de Dialogue Emprunter (Checkout) - Onglet Module

Figure 5.3. Boite de Dialogue Emprunter - Onglet Version

Boite de Dialogue Emprunter - Onglet Version

Figure 5.4. Boite de Dialogue Emprunter - Onglet Options

Boite de Dialogue Emprunter - Onglet Options

Note

TODO: Write

Boite de dialogue Actualisation Spéciale (Update)

Figure 5.5. Boite de dialogue Actualisation Spéciale (Update)

Boite de dialogue Actualisation Spéciale (Update)

Note

TODO: Write

Boite de dialogue Valider

Figure 5.6. Boite de dialogue Valider

Boite de dialogue Valider

Note

TODO: Write

Boite de dialogue Branche

Note

TODO: Write... Screenshot

Boite de dialogue Créer un nouveau module

Note

TODO: Write... Screenshot

Boite de dialogue de progression

Figure 5.7. Boite de dialogue de progression

Boite de dialogue de progression

Cette boite de dialogue indique si chaque fichier a été modifié ou non dans CVS ou sur le PC local, en utilisant les codes de lettres suivantes:

C

Le fichier a changé dans CVS et localement. TortoiseCVS essaie de fusionner les deux jeux de changements dans la copie locale, mais ne peut pas (probablement parce que les deux changements ont été fait sur la même partie du fichier). Pour plus d'information, voyez Résoudre les conflits.

M

Le fichier a seulement changé sur le PC local. TortoiseCVS ne va pas changer la copie locale.

P

Le fichier a changé dans CVS, et TortoiseCVS a actualisé (Update) la copie locale pour qu'elle concorde.

U

Le fichier éxiste dans CVS, mais pas sur la machine locale. TortoiseCVS va créer une copie sur le PC local.

Boite de dialogue Baliser (Tag)

Note

TODO: Write... Screenshot

Boite de dialogue Preferences

Figure 5.8. Boite de dialogue Preferences - Onglet Principal

Boite de dialogue Preferences - Onglet Principal

Figure 5.9. Boite de dialogue Preferences - Onglet Option

Boite de dialogue Preferences - Onglet Option

Figure 5.10. Boite de dialogue Preferences - Onglet Outils

Boite de dialogue Preferences - Onglet Outils

Figure 5.11. Boite de dialogue Preferences - Onglet Avancé

Boite de dialogue Preferences - Onglet Avancé

Figure 5.12. Boite de dialogue Preferences - Onglet Fichiers ignorés

Boite de dialogue Preferences - Onglet Fichiers ignorés

Figure 5.13. Boite de dialogue Preferences - Jeux d'icônes

Boite de dialogue Preferences - Jeux d'icônes

Note

TODO: Write

Boite de dialogue Fusionner

Note

TODO: Write... Screenshot

Boite de dialogue Historique

Figure 5.14. Boite de dialogue Historique

Boite de dialogue Historique

Note

TODO: Write

Boite de dialogue Schéma des version

Figure 5.15. Boite de dialogue Schéma des version

Boite de dialogue Schéma des version

Note

TODO: Write

Articles, Conseils et Astuces

Utiliser TortoiseCVS avec SourceForge


Instructions d'installation du Client TortoiseCVS

Ce document fournit des instructions pour installer et utiliser le logiciel client CVS TortoiseCVS. Ces instructions sont écrites pour les développeurs de projets SourceForge.net qui utilisent la plateforme 32-bit Microsoft Windows. Elles sont pour les développeurs qui aimeraient travailler avec le code source d'un projet hébergé sur SourceForge.net. Pour des informations de fond vous devriez vouloir lire les autres documents disponibles à propos de CVS.

TortoiseCVS a des avantages par rapport à WinCVS pour travailler sur SourceForge. Il a une interface plus clair qui est intégré dans l'explorateur Windows. WinCVS a une interface plus complexe et mature. Pour les commandes plus obscure il doit être plus facile ou nécessaire d'utiliser WinCVS.

Un bénéfice particulier est que TortoiseCVS a un client SSH interne, sans d'installation spéciale. N'importe qui peut facilement valider du code dans des projets SourceForge.net en utilisant TortoiseCVS.

Installer TortoiseCVS

  1. Allez sur http://tortoisecvs.org/ et téléchargez sur la page Download.

  2. Pour installer, lancez l'exécutable et suivez les instructions.

  3. Comme TortoiseCVS est une extention shell, vous devez redémarer votre machine.

Emprunter (Checking out) un projet existant

Si vous travaillez sur un projet existant vous devez d'abord emprunter le code.

  1. Soyez sûr d'avoir créer un compte sur SourceForge.net, et que vous avez été ajouté comme développeur au projet sur lequel vous allez travailler. Un administrateur du projet doit le faire.

  2. Dans l'explorateur Windows allez dans le répertoire dans lequel vous voulez extraire le code.

  3. Cliquez droit et dans le menu contextuel choisissez la commande CVS Emprunter...(ou checkout); elle est à coté de l'icône Tortoise.

  4. Vous aurez besoin de votre nom d'utilisateur sur SourceForge.net, et du nom UNIX du projet. Remplissez la boite de dialogue comme ceci:

    • Protocole: Terminal sécurisé (:ext)

    • Serveur: cvs.sourceforge.net

    • Dossier du référentiel: /cvsroot/nom du projet

    • Nom d'utilisateur: nom d'utilisateur

  5. Cliquez Dresser la liste pour obtenir un choix de modules. Vous devrez entrer votre mot de passe dans la boite de dialogue à ce niveau. Puis choisissez le module que vous voulez.

  6. Choisissez OK. TortoiseCVS va maintenant emprunter le code. Vous devrez entrer votre mot de passe.

  7. Vous pouvez maintenant modifier les fichiers et sélectionner CVS Valider (Commit)sur le répertoire principal pour faire vos changements dans le référentiel. Pour plus d'information lisez le Guide Utilisateur TortoiseCVS.

Obtention d'une erreur?

Si vous obtenez une erreur disant quelque chose comme “Could not chdir to home folder /home/users/r/rd/rdonkin: No such file or folder” vous devez alors vous connectez au serveur avec SSH pour forcer la création de votre répertoire home. Faites ceci en vous connectant à nomDUtilisateur@cvs.projectname.sf.net soit avec Putty soit avec un SSH en ligne de commande.

Travailler sur un nouveau projet

Si vous travaillez sur un nouveau projet vous devez d'abord créer un nouveau module dans le référentiel.

  1. Créez un répertoire avec le nom que vous voulez que le module ait.

  2. Mettez les fichiers que vous voulez ajouter dans le répertoire.

  3. Cliquez droit sur le répertoire, et choisissez Créer un module dans le sous menu CVS.

  4. Remplissez la boite de dialogue comme décrit dans la section précédente. Remarquez que le nom du module est remplit pour vous.

  5. Choisissez OK. Vous devrez entrer votre mot de passe deux fois, et le module sera fait pour vous.

  6. Procédez à l'ajout des fichiers et répertoires en cliquant droit sur ceux-ci et en choisissant CVS Ajouter(Add) ou CVS Ajouter le contenu(Add All Recursively) dans le menu contextuel.

  7. Pour plus d'informations lisez le Guide utilisateur TortoiseCVS

Fatigué de rentrer votre mot de passe tout le temps?

Vous devez faire une paire de clé public/privé. La clé public va sur le serveur, et la clé privé reste sur votre disque dur. Ensuite, quand vous vous connectez le serveur peut vérifier qui vous êtes simplement parce que vous avez votre clé privé.

Pour plus de protection pour votre clé privé elle est crypté sur votre disque dur avec une passphrase. Vous pouvez toutefois choisir une passphrase vide, auquel cas vous n'avez jamais à entrer de mot de passe mais n'importe qui qui accède à votre ordinateur peut accéder à votre compte SSH. Ou vous pouvez utiliser un Agent SSH (comme Pageant) qui se rapellera de votre passphrase pour la durée d'une session, ainsi vous n'aurrez qu'à la rentrer une fois.

TortoiseCVS utilise une version de Plink comme client SSH. Cela signifie que vous pouvez utiliser PuTTYgen pour faire une paire de clé publique/privé, et que vous pouvez utiliser Pageant pour pointer vers la clé privé. D'abord téléchargez les tous les deux sur le site PuTTY web site.

Pour les informations sur comment les utiliser lisez la documentation PuTTY sur PuTTYgen et Pageant. En particulier, soyez sûr de lire les sections "8.2: Using PuTTYgen, the PuTTY key generator" et "9.3.1 Making Pageant automatically load keys on startup".

Après avoir créer votre clé publique avec PuTTYgen vous devrez l'uploader en utilisant l'interface web de SourceForge.net. Connectez vous sur le site web SourceForge, et allez sur la page Account Preferences. En bas se trouve une section "Shell Account Information" avec une entrée "CVS/SSH Shared Authorized Keys". Vous devez ajouter votre clé publique ici. Attention, vous devez effectuer un copier-coller avec la souris de la clé publique qui se trouve dans le champ "Public key for pasting into authorized_keys file:". Il faut pas utiliser la clé dans un format multiligne du fichier enregistré à l'aide du bouton save public key. (C'est expliqué, mais en anglais).

Qu'est ce qui diffère entre CVS etMicrosoft Visual Source Safe


TortoiseCVS diffère de Visual Source Safe™ (VSS) de beaucoup de façons. La plus apparente différence doit être que TortoiseCVS ne nécessite pas que les utilisateurs verrouillent les fichiers sur lesquels ils travaillent, alors que VSS fait cela par défaut. En fait, la documentation CVS encourage les utilisateurs à ne pas utiliser le verrouillage de fichiers. Dans de rares occasions où plusierus personnes ont changé le même fichier en même temps, CVS sera normalement capable de fusionner leurs changements. Si deux ou plus développeurs ont changés les même lignes, TortoiseCVS rapportera un conflit, inserera des directives dans le fichier, et laissera aux développeurs la décision de quoi faire. De tels conflits sont très rares, car ils se produisent normalement comme un résultat de manque de communication entre les développeurs (ex. deux personnes essayant de résoudre le même problème).

Une autre différence importante est que VSS vous donne une vue serveur, tandis que TortoiseCVS présente une vue cliente. En pratique cela signifit que, contrairement à VSS, TortoiseCVS ne vous dira pas quels sont les changements dans le référentiel jusqu'à ce que vous actualisiez (update), ou validiez (commit).

Créer des nouveaux icônes pour TortoiseCVS


Les icônes de TortoiseCVS sont des fichiers icônes Windows qui recouvrent les icones de fichier code source dans l'explorateur pour montrer leurs statut dans CVS. La raison pour laquelle cette technique fonctionne est que la plupart de la surface des icônes TortoiseCVS est transparante, autorisant à l'icône source de se montrer à travers. Si vous dessinnez votre propre jeu d'icônes TortoiseCVS, vous devrez jouer attentivement sur la balance entre la visibilité du fichier original et la visibilité de l'éta CVS. Plusieurs jeu d'icônes réalisent cette balance en ajoutant une couleur distincte ou une forme à un coin de chaque icône; d'autres achèvent l'illusion en nuançant l'icône entier en alternant les pixels transparants avec les colorés. Vous pouvez de plus combiner ces deux idées de formes uniques et semi-transparantes nuancés; voyez le jeu d'icônes "NG" qui est compris avec TortoiseCVS comme exemple.

  1. Créez votre jeu d'icônes en utilisant un éditeur graphique. Pour les meilleurs résultats visuels, vous devriez créer des versions 16x16 et 32x32 de chaque icône. Les éditeurs d'icônes fournits avec les compilateurs Borland et Microsoft peuvent remplir cette tâche facilement, comme le peuvent la plupart des shareware éditeurs d'icônes. Si vous préférez rester avec des logiciels free, vous pouvez utiliser The GIMP pour créer un fichier PNG 16x16 and 32x32 pour chaque icône, et ensuite les combiner avec png2ico.

  2. Soyez sûr que vous avez créer un icône correctement nommé pour chacun des six états possible CVS: TortoiseNotInCVS.ico, TortoiseInCVS.ico, TortoiseInCVSReadOnly.ico, TortoiseChanged.ico, TortoiseConflict.ico, and TortoiseIgnored.ico.

  3. Créez un repertoire dans le répertoire dans lequel vous avez installé TortoiseCVS, nommez le avec un nom représentatif pour votre jeu d'icônes, et copiez vos six nouveaux fichiers icônes dans le nouveau répertoire.

  4. Ouvrez l'éditeur de base de registre (Cliquez Démarrer >> Exécuter et tapez "regedit"). Navigez dans HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseCVS\CustomIcons. Dans cette clé, créez une nouvelle chaine valeur (string value). Pour le nom de cette nouvelle valeur, tapez le nom que vous voulez pour votre nouveau jeu d'icônes. Double cliquez sur la nouvelle valeur pour placer la nouvelle donnée, qui est le nom du répertoire que vous avez créer à l'étape 3.

Creating new locale for TortoiseCVS