Aller au contenu

Logiciel de contrôle de version

Définition

Le logiciel de contrôle de version (VCS) est un outil bénéfique qui contribue au flux de travail collaboratif d'une équipe de développement logiciel. Il est essentiel pour les équipes composées de plusieurs développeurs. Chaque entreprise adopte le VCS qui correspond le mieux à sa stratégie.

Voici une liste d'outils VCS largement utilisés.

  1. Git

    Git est l'un des logiciels de contrôle de version les plus populaires disponibles sur le marché actuel. Git est un système de contrôle de version distribué rapide et efficace, facile à apprendre. Il peut gérer des projets de toutes tailles, des petits aux énormes. Les caractéristiques distinctives de Git sont les suivantes : branches locales à faible surcharge, zones de préparation (staging areas) pratiques et prise en charge de multiples flux de travail. C'est un logiciel libre et open-source.

    Git

    Inconvénients de Git

    Malgré ses avantages, Git présente également quelques inconvénients. Tout d'abord, la prise en charge des fichiers binaires volumineux est faible. Les interactions peuvent perdre en vitesse en raison de dépôts volumineux ayant un historique très long. De plus, les commandes sont imprévisibles.

  2. CVS

    CVS (Concurrent Versions System) était historiquement populaire mais est aujourd'hui largement obsolète, ayant été supplanté par des systèmes distribués modernes. Il aidait les développeurs à enregistrer l'historique des fichiers et des documents. Par défaut, il gère des projets de petite à moyenne taille, et pour prendre en charge des projets plus importants, il doit être configuré et étendu. Vous pouvez utiliser CVS sur presque toutes les plateformes matérielles et systèmes d'exploitation. C'est un logiciel libre et open-source.

    CVS

    Inconvénients de CVS

    CVS présente également quelques inconvénients. En particulier, il ne vérifie pas l'intégrité du dépôt de code source. Il n'y a pas de prise en charge des commits atomiques et des check-outs, ainsi que du suivi des fusions et des révisions signées.

  3. SVN

    SVN (Apache Subversion) est un système de contrôle de version centralisé qui a été largement utilisé au cours de la dernière décennie. SVN dispose des fonctionnalités suivantes : répertoires versionnés, prise en charge des commits atomiques, suivi des fusions, prise en charge des opérations de copie, suppression, déplacement et renommage des versions, modèle de dépôt client-serveur, métadonnées de version au format libre, prise en charge complète du MIME, verrouillage de fichiers, etc. C'est un logiciel libre et open-source.

    SVN

    Inconvénients de SVN

    L'heure des modifications de fichiers n'est pas stockée, il existe certains problèmes avec la normalisation des noms de fichiers et un manque de prise en charge des révisions signées.

  4. Mercurial

    Mercurial est un logiciel de contrôle de version distribué écrit en Python. Ce logiciel rapide prend en charge des projets de toute taille et de tout type. Son interface est assez prévisible, ce qui le rend facile à apprendre. Il prend en charge les systèmes d'exploitation suivants : Unix-like, Windows et macOS. Il prend fortement en charge les fichiers binaires et dispose d'excellentes capacités de fusion et de branching. C'est un logiciel libre et open-source.

    Mercurial

    Inconvénients de Mercurial

    Python est requis pour tous les modules complémentaires. Il ne permet pas les check-outs partiels et ne gère pas bien les extensions supplémentaires.

  5. Monotone

    Monotone est un système de contrôle de version distribué écrit en C++. C'est un VCS transactionnel à fichier unique offrant un fonctionnement complètement déconnecté. La fusion est sensible à l'historique, les branches sont assez légères.

    Monotone prend en charge une synchronisation pair-à-pair productive. Il comprend la fusion sensible à l'historique, nécessite une maintenance réduite, valorise l'intégrité de la revue de code et prend en charge les fusions à 3 voies. Il s'exécute sur plusieurs plateformes : Linux, Solaris, Mac OS X, Windows et autres Unix. C'est un logiciel libre et open-source.

    Monotone

    Inconvénients de Monotone

    Les utilisateurs ne peuvent pas effectuer de check-out ou de commit depuis derrière un proxy en raison de l'absence du protocole HTTP. Des problèmes de performance sont observés pour certaines opérations. Le plus évident d'entre eux est le pull initial.

    Note : Monotone est largement abandonné et a une pertinence moderne limitée.

Pratique

Laquelle de ces options n'est pas une fonctionnalité de Git en tant que logiciel de contrôle de version ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.