Logiciel de gestion de versions

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un logiciel de gestion de versions (ou VCS en anglais, pour Version Control System) est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus. Il permet notamment de retrouver les différentes versions d'un lot de fichiers connexes.

Il existe aussi des logiciels et services de gestion de versions décentralisé (distribué) (ou DVCS en anglais, pour Distributed Version Control System). Git et Mercurial[1] sont deux exemples de logiciel de gestion de versions décentralisé et sont disponibles sur la plupart des systèmes Unix et Windows.

Les logiciels de gestion de versions sont utilisés notamment en développement logiciel pour conserver le code source relatif aux différentes versions d'un logiciel.

Définition[modifier | modifier le code]

Un logiciel de gestion de versions agit sur une arborescence de fichiers afin de conserver toutes les versions des fichiers, ainsi que les différences entre les fichiers.

Ce système permet par exemple de mutualiser un développement. Un groupe de développeurs autour d'un même développement se servira de l'outil pour stocker toute évolution du code source. Le système gère les mises à jour des sources pour chaque développeur, conserve une trace de chaque changement. Ceux-ci sont, en bonne utilisation, chaque fois accompagnés d'un commentaire. Le système travaille par fusion de copies locale et distante, et non par écrasement de la version distante par la version locale. Ainsi, deux développeurs travaillant de concert sur une même source, les changements du premier à soumettre son travail ne seront pas perdus lorsque le second, qui a donc travaillé sur une version non encore modifiée par le premier, renvoie ses modifications.

Généralement, chaque nouvelle version d'un fichier est appelée révision et son numéro de version est incrémentée de 1 par rapport à la précédente.

Autres utilisations[modifier | modifier le code]

Le concept des gestions de versions peut s'adapter à d'autres types de ressources. Les Wikis (tel Wikipédia) sont des exemples de logiciels de gestion de versions agissant sur des champs de base de données et non sur des fichiers.

Limitations[modifier | modifier le code]

Certains logiciels présentent des limitations, par exemple Visual SourceSafe ne prend pas en charge les noms de fichier en unicode[2].

D'autres limitations ou caractéristiques peuvent concerner certains systèmes, notamment le codage des fichiers, les conventions de fin de ligne, ou le codage des noms de fichiers. Par exemple sous Source Safe, certains caractères d'un nom de fichier ne sont conservés que s'ils sont enregistrés en Unicode[3].

Si SVN peut gérer efficacement les modifications de fichiers binaires, Git lui dupliquera entièrement chaque fichier à chaque commit, ce qui alourdira le dossier du projet.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]