Quelques notes sur CVS et les fichiers binaires

 // accueil 2004-05-18 

Rubriques
Lipforge dies and reborns CVS et Gforge CVS et binaires Projets : publics / privés Documenter ses projets
Questions ou commentaires ?
Suggestions ou conseils ?

CVS et les fichiers binaires

Ce bref document ne se substitue pas à la documentation de CVS ( voir Cederqvist). Il donne juste quelques précisions à propos des fichiers binaires. Remercions Arnaud Tisserand qui nous a communiqué ces informations.

Le problème se pose lorsque l'on gère des fichiers binaires ou apparentés tels qu'images, documents PDF, exécutables et/ou bibliothèques. CVS est particulièrement,et par défaut, approprié à la gestion des documents textuels y compris sur des plates-formes différentes. Au passage, il opére des manipulations sur des caractères tels que les saut de ligne qui risquent de totalement dénaturer un fichier binaire. Certaines opérations, comme la comparaison de version (sous-commande diff) ou la fusion de versions (sous-commande merge), risquent de poser des problèmes pour les fichiers binaires. CVS propose des options qui permettent, au moins, d'éviter les manipulations des sauts de ligne et de contrôler la façon d'effectuer les mises à jour.

Signaler explicitement un fichier comme binaire

La première méthode consiste à signaler,au moment de sa création, qu'un fichier est binaire. Plus précisément, il s'agit d'éviter que CVS ne lui applique des modifications intempestives et ne tente des opérations de fusion hasardeuses. Pour ajouter le fichier binaire toto vous lancerez la commande :

cvs add -kb -m"ajout du fichier binaire toto" toto

Le point important est ici l'option -kb.

Si l'on a omis ce signalement au moment de la création, on peut toujours le faire plus tard par la commande :

cvs admin -kb toto

Notez bien que la version détenue par le dépôt aura probablement été « charcutée » par CVS. Vous devez donc commencer par y replacer une version correcte du fichier que vous détenez par ailleurs.

Signaler toute une classe de fichiers comme binaires

Il est assurément fastidieux de passer un paramètre particulier lors de la création de chaque fichier binaire. C'est, presqu'à coup sûr, une précaution que l'on risque d'oublier. Il est bien plus commode de signaler que toute une classe de fichiers devra être traitée de la même manière. Il faudra alors manipuler le fichier CVSROOT/ cvswrappers pour y indiquer les règles que l'on souhaite appliquer. Ainsi pour traiter les images GIF « à la mode binaire » on ajoutera la ligne suivante :

*.gif -k 'b' -m 'COPY'

Comme d'habitude, appliquez le soin le plus extrême aux modifications que vous effectuez sur les fichiers du module CVSROOT.


Nouvelles & Nouveautés
Lipforge closing is not the end of the story: join us on CBP-Forge powered by Redmine!
Sad but true, Lipforge is closing.
 2004-05-18
CVS et binaires
On peut aussi gérer des fichiers binaires avec CVS. Mais quelques précautions s'imposent pour éviter les déconvenues.
 2004-05-14
CVS
Quelques conseils pour utiliser CVS sur LipForge.
 2004-05-14
Documenter ses projets
Gforge vous offre plusieurs possibilités pour documenter vos projets. Quelques éclaircissements à ce propos.
 2004-05-14
Public / privé
Gforge est un outil plutôt destiné aux projets publics mais il permet aussi de travailler de manière plus discrète... quitte ensuite à sortir en pleine lumière !

shareright © 2002 Phlash