samedi 23 janvier 2016
Logiciel de gestion de version
Logiciel de gestion de versions
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 Mercurial1 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.
Sommaire [afficher]
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 un 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.
Historique[modifier | modifier le code]
L'un des premiers gestionnaires de version était Librarian (produit non IBM) au milieu des années 70, travaillant sous TSO et fonctionnant encore sur le modèle de la carte perforée à 80 colonnes (bien entendu simulée sur disque). On mémorisait son programme - venant soit d'un paquet de cartes réel, soit d'un éditeur de texte - sous Librarian, et toute modification effectuée était datée dans des colonnes "virtuelles" 81 à 89 des "cartes" ainsi simulées. Le retour automatique en arrière en cas de modifications infructueuses de programme était ainsi très facile, même si des passages de code très éloignés les uns des autres avaient été modifiés.
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 unicode2.
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 Unicode3. À partir de source Safe 2005, les fichiers textes unicode sont reconnues en tant que tel 4.
Si SVN peut gérer efficacement les modifications de fichiers binaires, Git lui dupliquera entièrement chaque fichier binaire à chaque commit, ce qui alourdira le dossier du projet.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire