CVS contre Subversion
Concurrent Versions System (également appelé système de version simultanée ou CVS) est un système de contrôle de révision de logiciel gratuit. En d'autres termes, il s'agit d'un programme ouvert au public qui gère les modifications apportées aux documents, programmes et autres informations stockées dans l'ordinateur. des dossiers). Il permet à plusieurs développeurs de collaborer.
Subversion (également appelé SVN) est un système de contrôle de version utilisé pour conserver les versions actuelles et précédentes des fichiers (comme le code source, les pages Web et la documentation). Il s’agit d’une mise à jour directe de CVS et de son successeur le plus compatible. Il s’agit également d’une technologie open source largement utilisée dans de nombreux projets, tels que Apache Software Foundation, Free Pascal, MediaWiki et Google Code..
CVS utilise une architecture client-serveur, ce qui signifie qu’un serveur stocke la ou les versions actuelles d’un projet particulier et enregistre son historique. Le client se connecte ensuite au serveur pour «extraire» une copie du projet achevée avant sa connexion au serveur. Le client est alors capable de travailler sur cette copie du projet et de vérifier les modifications apportées ultérieurement. En plus de permettre à un client d’enregistrer une copie d’un projet donné, CVS permet à plusieurs clients de travailler et d’enregistrer simultanément le même projet. Les clients pourront modifier les fichiers dans leur propre copie de travail du projet et envoyer ces modifications au serveur..
Subversion valide - c’est-à-dire crée un ensemble de modifications provisoires et les rend permanentes - en tant que véritables opérations atomiques (ou une série d’opérations de données dans lesquelles tout se produit ou n’est rien) se produit. Subversion permet également aux utilisateurs de renommer, copier, déplacer et / ou supprimer des fichiers; toutefois, ces fichiers conserveront leur historique de révision complet. Ce système utilise une sortie analysable, une conception de bibliothèque stratifiée client / serveur de manière native, ainsi que la création de branches et le marquage en tant qu’opérations peu coûteuses (indépendamment de la taille du fichier). Il existe des liaisons de langage pour PHP, Python, Perl et Java. Subversion coûte également en fonction de la taille du changement et non de la taille des données..
CVS peut gérer différentes branches d’un projet, c’est-à-dire que différents aspects ou permutations d’un même projet peuvent dériver du projet source et CVS conservera toutes les versions (une version publiée du projet forme une branche pour les corrections de bugs, tandis que une version différente en cours de développement peut contenir de nouvelles fonctionnalités et des modifications majeures et former une branche du même projet, par exemple).
Résumé:
1. CVS permet à plusieurs utilisateurs de collaborer sur le même projet. Subversion maintient les versions actuelles et précédentes des fichiers.
2. CVS permet aux utilisateurs de s’enregistrer sur le même projet et de le modifier; Subversion commet en tant que véritables opérations atomiques.
3. CVS peut gérer différentes branches d'un projet. Subversion utilise une sortie analysable.