3. Lignes de conduite du CVS

Ce qui suit contient quelques règles simples et les lignes de conduite à propos de toutes les activités CVS d'Arabeyes. Merci de bien les suivre afin de rendre agréable le travail de tous. La violation des lignes de conduite qui suivent peut résulter en la suspension temporaire de votre compte CVS jusqu'à ce que le problème soit résolu.

3.1. Les nouveaux répertoires

Avant de créer un quelconque nouveau répertoire, merci de toujours consulter l'administrateur CVS. Ceci est particulièrement important pour éviter la redondance et maintenir une organisation ordonnée.

Ceci ne s'applique pas aux propriétaires des modules. Par exemple, si l'auteur de l'application X décide d'ajouter X/yz/ à son répertoire X/, il n'y a pas de nécessité à une quelconque approbation de l'administrateur.

3.2. Le 'commit' des compte-rendus

Il va sans dire qu'il est très important d'entrer un commmentaire utile et compréhensible lors des 'commits'.

  • La traduction (fichiers PO):

    Quand vous faites un 'commit' de fichier(s) .po, assurez vous toujours que le commentaire inclut bien la sortie de:

    $ msgfmt --statistics file.po [2]
            

    Ceci pour éviter les commentaires de type "translated a little", qui ne veut pas dire grand chose, si ce n'est rien du tout.

  • Le developpement du code source:

    Les commentaires sur les 'commits' du code source peuvent être un peu plus faciles (puisque le type de changement varie). Assurez vous toujours de garder une trace des changements que vous faites au moment même où vous les faites, ainsi vous vous en souviendrez au moment du 'commit'.

    Un exemple d'un mauvais commentaire est: "I made a few fixes". Quels corrections ? Si vous n'arrivez plus à vous souvenir de ce que vous avez fait, alors faites un 'diff' des changements, consultez le et notez les changements faits.

  • Les documents:

    En général, les commentaires sur la documentation seront inévitablement vagues. Si le document est petit, ce n'est pas un problème. Si ce n'est pas le cas, indiquez l'endroit que vous avez modifié. Par exemple: "Chapter 3, Section 4 - Re-wrote the second paragraph for clarity" est un bon commentaire.

3.3. Le 'commit' multiple de fichiers

Quand vous avez faits des changements sur plusiers fichiers, c'est mieux de faire un 'commit' en un seul paquet, au lieu de le faire fichier par fichier. Ceci pour 2 raisons essentielles:

  • Minimiser le nombre de notifications par mail de CVS qui sont reçues par tous ceux qui sont inscrits sur la liste 'cvs', à chaque fois qu'un changement est fait.

  • La plupart des fichiers changés concernent un seul sujet. Par exemple, si deux fichiers test.cc et test.h sont changés, il n'est pas nécessaire de faire des 'commits' individuels.

Il existe deux façons pour faire un 'commit' multiple de fichiers.

$ cvs commit file1 file2 file3
    

Ou vous pouvez laisser CVS le faire recursivement:

$ cvs commit
    

La première manière vous laisse plus de flexibilité sur les fichiers a envoyer, tandis que la dernière fait simplement un 'commit' de n'importe quel fichier qui aurait changé dans le répertoire courant et dans ses sous-répertoires.

3.4. L'import d'un nouveau projet

Bien que ceci n'arrive pas très souvent, c'est utile de le mentionner, spécialement pour ceux qui possèdent un projet et voudraient ajouter un nouveau répertoire qui contient déjà un contenu non nul.

Quand c'est le cas, utilisez cvs import. Par exemple, si projX dans projects/projX va ajouter un nouveau répertoire nommé games contenant 10 fichiers, faites ceci:

$ cvs import projects/projX/games arabeyes start
    

Pour plus d'informations, tapez 'cvs import --help' ou consultez le manuel CVS.

3.5. Les fichiers acceptables sur CVS

Il existe une règle très simple à suivre. N'importe quel fichier qui est généré par un programme depuis un autre fichier qui réside sur CVS ne doit pas être mis dans CVS. C'est de la redondance inutile.

Les fichiers compressés (gzip/bzip2/Z/etc) ne doivent pas être mis dans CVS sous cette forme (ou sous la forme de fichiers tar).

Généralement, les seuls types de fichiers binaires acceptables sur CVS sont les images graphiques et les fichiers audio. Tout autre format de fichier doit être du texte.



[2] 'msgfmt' est un utilitaire qui est livré avec le package gettext.