CVS comporte un mécanisme de notification vous permettant de connaître le nom de l'utilisateur modifiant tel ou tel fichier qui vous intéresse. Cette fonction porte le nom de contrôles. Une fois que vous avez défini un contrôle sur un fichier, CVS vous informe par courrier électronique (ou autre) dès qu'un autre utilisateur édite ce fichier.
Les contrôles CVS se composent deux parties : le contrôle et l'édition. La première, appelée contrôle indique le mode de notification des fichiers contrôlés. La seconde, l'édition, concerne le mode de notification du serveur CVS (et des autres) quand vous êtes sur le point à modifier un fichier.
Le mécanisme d'édition est pratique et populaire parmi les développeurs car il évite de mettre en place des contrôles. Quand vous éditez un fichier, vous êtes informé si un autre utilisateur est déjà en train de l'éditer. Comme la plupart des développeurs souhaitent simplement savoir qu'ils doivent fusionner leurs modifications au moment de la validation, le mécanisme d'édition est généralement suffisant. L'autre avantage d'une utilisation exclusive de l'édition est qu'elle ne nécessite pas de modifications administratives sur le serveur (à la différence d'un contrôle). Tous les contrôles signalent par courrier électronique que tel ou tel fichier contrôlé est en cours de modification.
C'est pourquoi l'édition est pris en charge de façon native dans Team CVS alors que le contrôle ne l'est pas.
Comme nous l'avons vu, il n'est pas possible de définir des contrôles dans Team CVS. Si vous souhaitez le faire malgré tout, consultez la documentation CVS. Voici en résumé la procédure :
Les contrôles et l'édition sont facultatifs dans CVS. Pour utiliser cette fonctionnalité, vous devez l'activer dans la page de préférences Equipe > CVS > Contrôle/Edition. Sélectionnez l'option de "configuration des projets pour l'utilisation de Contrôle/Edition lors de la réservation", acceptez les choix, puis réservez le projet. Tous les fichiers du projet seront réservés en lecture seule. Ceci indique au client CVS quels fichiers sont édités par vous et quels fichiers ne le sont pas (les fichiers ouverts en écriture sont en cours de modification). Si vous réservé le projet avant d'activer cette option, vous pouvez le réserver de nouveau ou activer l'option d'"utilisation de Contrôle/Edition pour ce projet" dans la page de propriétés CVS dudit projet. Ces deux opérations verrouillent les fichiers en écriture (qui passent alors en lecture seule).
Alors que les clients CVS attendent que vous effectuiez l'édition manuellement, Team CVS effectue une édition automatique de tout fichier que vous commencez à modifier. Ce support est intégré dans Eclipse, de sorte que la saisie dans un éditeur de texte, la propagation de modifications, etc., émet automatiquement une édition CVS. Vous pouvez également effectuer une édition manuelle en sélectionnant Equipe > Edition dans le menu contextuel.
Lors de l'émission d'une édition, vous êtes informé immédiatement en cas d'édition du fichier par un autre utilisateur. En outre, toute personne qui contrôle ce fichier recevra du serveur CVS une notification par courrier électronique. Comme les contrôles délivrent simplement une notification électronique, l'édition sans définition de listes de contrôle reste une méthode de travail utile et courante.
Bien entendu, vous êtes libre de désactiver l'émission automatique d'éditions. Ceci implique que vous devrez sélectionner Equipe > Edition pour chaque fichier à traiter. Pour utiliser ce mode de travail, sélectionnez Equipe > CVS > Contrôle/Edition et "Editer le fichier sans en informer le serveur".
Enfin, vous pouvez, à tout moment, afficher la liste des éditeurs d'un fichier, en sélectionnant Equipe > Afficher les éditeurs dans le menu contextuel associé.
Alors que vous indiquez à CVS que vous éditez un fichier, vous pouvez, de la même façon, informer CVS que l'édition de ce fichier est terminée. Cette opération est appelée unedit. Ainsi, en consultant la liste des éditeurs d'un fichier, un utilisateur peut savoir si celui-ci est encore en cours d'édition. Ceci se produit dans l'un ou l'autre cas :