Previous Next Contents

1. Introduction

Un problème majeur dans le développement et la maintenance des programmes est le contrôle de version. C'est-à-dire la conservation bien organisée de tous les changements effectués sur les programmes développés. Au final, un programme est constitué de différentes versions.

L'un des programmes standard pour faire du contrôle de version est GNU's RCS, qui signifie Revision Control System.

RCS est un ensemble de commandes effectuant ce travail. Il automatise le stockage, la récupération, la tenue d'un journal et l'identification des différentes révisions de fichiers de différents types (texte de n'importe quel format, et même binaire si les outils associés, tel que diff, peuvent gérer ce type de fichiers). Cependant, la principale utilisation d'un système de contrôle de version s'inscrit dans le cadre de fichiers sources ou de documentations.

RCS ne conserve pas une copie entière de chaque nouvelle version. Il stocke des deltas, c'est à dire les différences entre les révisions successives. Pour cela, les changements au fichier filename sont conservés dans le fichier filename,v.

Parmi les principales caractéristiques de RCS, on peut noter qu'il permet d'extraire une version antérieure des fichiers, de conserver des journaux des modifications apportées, de conserver l'identification des personnes ayant fait les modifications. RCS permet également de comparer deux versions et fournit un mécanisme pour fusionner deux branches de développement différentes d'un fichier. RCS permet également le verrouillage (lock) d'un fichier, de telle façon qu'une seule personne puisse apporter des changements (les autres personnes peuvent toujours utiliser le fichier, par exemple pour le compiler).

RCS a été principalement développé par Walter F. Tichy et Paul Eggert. La version actuelle est la 5.7, elle est disponible sur ftp://prep.ai.mit.edu/pub/gnu/rcs-5.7.tar.gz ou sur ftp://ftp.ibp.fr/pub/gnu/rcs-5.7.tar.gz. Nous verrons, sans toutefois entrer dans les détails, le principe général du contrôle de version, et les principales commandes constituant RCS.

Notons qu'il existe d'autres outils de ce type.


Previous Next Contents