Subversion ( SVN) et le Concurrent Versions System ( CVS ) sont deux des systèmes de contrôle de version les plus connues et les plus largement utilisés pour gérer les centaines de documents qui existent dans le projet de programmation typique . Tous deux , à leur manière , permettent toute une équipe de programmeurs pour travailler sur les mêmes fichiers , tout en minimisant le temps et les efforts qu'il faut pour fusionner les modifications , mais elles sont très différentes dans la façon dont ils travaillent. Storage Format CVS stocke tous les fichiers dans le projet dans un ensemble de branchement de dossiers sur le système de fichiers . D'autre part , SVN stocke ses fichiers dans une base de données : soit BerkleyDB ou FSFS . Cela rend plus lent que SVN CVS , mais il fait aussi en sorte que les fichiers CVS peuvent être récupérées en cas de sinistre en utilisant uniquement des outils de gestion de fichiers ordinaires comme l'Explorateur Windows ou le shell BASH . Bases de données SVN peuvent être corrompus , et des outils spéciaux sont nécessaires pour récupérer les fichiers du référentiel quand cela arrive. Transactions CVS stocke les projets sur un fichier - par - déposer base . Cela rend le système un peu plus simple , comme le programmeur peut vérifier dans et hors des fichiers individuels , mais il a un effet pervers . Les programmeurs n'ont pas tendance à apporter des modifications à un seul fichier . Plutôt , les modifications d'un fichier nécessitent de petites modifications à d'autres. Avec CVS , il est possible pour un problème de réseau pour produire certains des fichiers modifiés pour être mis à jour dans le référentiel , ce qui pourrait briser la construction et de causer beaucoup de confusion dans l' équipe si le problème n'est pas pris immédiatement . SVN fichiers comme un projet et fait en utilisant un concept de « transaction » : soit toutes les modifications sont validées avec succès au serveur, ou rien n'est engagé types de fichiers . Photos CVS a été conçu pour traiter uniquement avec les données en texte clair (ce qui est normalement trouvé dans le code source ) . Cependant , c'est un programme de programmation rare qui n'inclut pas au moins certaines données non textuelles , telles que des icônes graphiques , des pointeurs de souris personnalisés et les logos . CVS peuvent être modifiés pour traiter des données non - textuelles, mais SVN prend en charge tous les types de fichiers directement sans autre modification ou de personnalisation . Branches CVS, chaque fichier est attribué automatiquement son propre numéro de version. Lorsque le projet est extrait, la version la plus récente de chaque fichier est fourni pour le programmeur . En SVN, l'ensemble du projet a une version . Bien que les fichiers ne sont jamais dupliquées inutilement sur le serveur ( pour économiser de l'espace ) , l'interface fournie à l'utilisateur , c'est que chaque commit jamais fait sur le serveur est accessible immédiatement par leur numéro de version, sans avoir à spécifier construire dates ou des numéros de tag .
|