Maison >Problème commun >Quelle est la différence entre SVN et CVS

Quelle est la différence entre SVN et CVS

青灯夜游
青灯夜游original
2022-06-21 11:40:413551parcourir

Différences : 1. Le numéro de version de CVS est basé sur le numéro de série auto-croissant du fichier, tandis que celui du SVN est basé sur le numéro de série global auto-croissant, non seulement pour les fichiers, mais aussi pour les répertoires. 2. CVS est basé ; sur les fichiers RCS, tandis que SVN Il est basé sur une base de données relationnelle ou une série de fichiers binaires ; 3. CVS permet une restauration arbitraire, mais SVN n'autorise pas la restauration après soumission 4. SVN prend en charge le principe de transaction "zéro ou un", mais CVS ne le prend pas en charge ; 5. CVS ne prend pas en charge la soumission de changement de nom de fichier local, alors que SVN le prend en charge ; 6. CVS a quatre autorisations, tandis que SVN n'en a que trois.

Quelle est la différence entre SVN et CVS

L'environnement d'exploitation de ce tutoriel : système Windows 7, Subversion version 1.14, ordinateur Dell G3.

CVS (Concurrent Versions System) :

est un système de versions simultanées pour développer du code source. Il est disponible pour diverses plates-formes, notamment Linux, Unix et Windows NT/2000/XP, etc. CVS est gratuit et open source et assure la gestion des versions des projets.

Introduction à la fonction :

1. Gestion unifiée du code, sauvegarde de l'historique de toutes les modifications des fichiers de code. La gestion centralisée et unifiée du code facilite la visualisation des fichiers nouvellement ajoutés ou supprimés et le suivi de toutes les traces de modifications du code. Vous pouvez restaurer n'importe quelle version historique précédente à volonté. Et évitez les BUG profonds introduits en raison des différentes versions.

2. La solution parfaite de résolution des conflits peut facilement résoudre les problèmes de conflits de fichiers sans avoir besoin d'utiliser d'autres outils de comparaison de fichiers ni de collage et de copie manuels.

3. Gestion des autorisations de code. Différentes autorisations peuvent être définies pour différents utilisateurs. Des mots de passe, des autorisations de lecture seule, de modification et autres pour l'accès des utilisateurs peuvent être définis, et via des scripts dans le répertoire CVS ROOT, une interface pour l'extension des fonctions correspondantes est fournie, qui peut non seulement compléter un contrôle précis des autorisations, mais également compléter davantage fonctions personnalisées.

4. Prend en charge les fonctions pratiques de publication de version et de branchement.

SVN (Subversion) :

  • Le nom complet de SVN est Subversion, qui est un système de contrôle de version. SVN est l'abréviation de Subversion. Il s'agit d'un système de contrôle de version open source. Comparé à RCS et CVS, son objectif de conception est de remplacer CVS. De nombreux services de contrôle de version sur Internet ont migré de CVS vers Subversion.

  • SVN est un système de gestion centralisé des versions de fichiers.

  • Le cœur de la gestion centralisée du code est le serveur. Tous les développeurs doivent obtenir le code du serveur avant de commencer une nouvelle journée de travail, puis développer, et enfin résoudre les conflits et le soumettre. Toutes les informations de version sont placées sur le serveur. Si vous êtes déconnecté du serveur, les développeurs ne peuvent pratiquement pas travailler.

(SVN) Workflow de gestion centralisé :

Le cœur de la gestion centralisée du code est le serveur. Tous les développeurs doivent récupérer le code du serveur avant de commencer une nouvelle journée de travail, puis développer et enfin résoudre les conflits, le soumettre. . Toutes les informations de version sont placées sur le serveur. Si vous êtes déconnecté du serveur, les développeurs ne peuvent pratiquement pas travailler.

Le processus de gestion est le suivant :

Quelle est la différence entre SVN et CVS

La différence entre svn et cvs

a été initialement conçu pour le stockage de fichiers texte. Par conséquent, il n'y a presque pas de support pour d'autres types de fichiers (binaire, Unicode). Si nécessaire, des informations supplémentaires doivent être fournies et le client et le serveur doivent être ajustés. CVS permet une restauration arbitraire sur toute version soumise, bien que cela prenne un certain temps (toutes les versions soumises). les fichiers doivent être traités séparément). Le principe de transaction "zéro ou un" dans CVS n'est pas du tout implémenté. Si vous archivez plusieurs fichiers (les ajoutez au serveur), il est possible que certains d'entre eux soient terminés et d'autres non. En règle générale, corrigez-les manuellement et réarchivez les fichiers restants (pas tous les fichiers). Ces dossiers seront ensuite archivés en deux phases. Mais jusqu’à présent, il n’y a eu aucun cas de dommage à l’entrepôt de données causé par l’absence de cette fonction. CVS est un ancien système. Au début, CVS n'était que quelques fichiers de script utilisant RCS. Plus tard, ces scripts ont été regroupés en une seule application, mais la structure interne devait encore être améliorée. À ce jour, il y a encore des gens qui tentent de réécrire CVS à partir de zéro, mais ils ont échoué. Nous avons déjà essayé de réécrire le code client pour une meilleure intégration, mais sans succès. Nous ne pensons pas que CVS puisse aller très loin en termes de fonctionnalités. ne prend pas en charge la soumission de changement de nom de fichier local ; La suppression peut être divisée en suppression et effacement. La première supprime à la fois les fichiers locaux et ceux de la bibliothèque, et la seconde supprime uniquement les fichiers locaux ; .La suppression de fichiers locaux et la soumission de fichiers dans la bibliothèque seront également supprimées

CVS SVN
À propos du numéro de version Numéro de série à incrémentation automatique en fonction du fichier. Basé sur un numéro de série global auto-croissant, non seulement pour les fichiers, mais aussi pour les répertoires, etc.
Format de type de stockage CVS est un système de contrôle de version basé sur des fichiers RCS. Chaque fichier CVS n'est qu'un fichier normal contenant des informations supplémentaires. Ces fichiers répètent simplement la structure arborescente des fichiers locaux. Par conséquent, vous n'avez pas à vous soucier d'une éventuelle perte de données, vous pouvez modifier le fichier RCS manuellement si nécessaire. SVN est basé sur une base de données relationnelle (BerkleyDB) ou une série de fichiers binaires (FS_FS). D'une part, cela résout de nombreux problèmes (par exemple, la lecture et l'écriture parallèles de fichiers partagés) et ajoute de nombreuses nouvelles fonctionnalités (par exemple, les fonctionnalités transactionnelles du runtime.). D’un autre côté, le stockage des données devient opaque ou moins convivial. C'est pourquoi les outils logiciels sont devenus si importants pour les entrepôts (bases de données).
La vitesse d'accès est relativement lente ; car elle est basée sur un transfert de fichiers différencié unidirectionnel (serveur -> client) Dans l'ensemble, en raison des différentes implémentations d'architecture, SVN est en effet beaucoup plus rapide que CVS ; Utilisez le transfert de fichiers différentiel bidirectionnel.
Il transmet très peu d'informations sur le réseau et prend en charge davantage de fonctionnalités en mode hors ligne. Mais cela a un coût. Le prix de la vitesse est un stockage énorme (sauvegarde complète de tous les fichiers de travail).
Métadonnées Autorise uniquement le stockage des fichiers Permet à un fichier d'avoir des attributs nommables. La fonction est très complète, mais je ne sais pas à quoi elle sert. Le type de fichier
SVN se souciera de tous les types de fichiers et ne vous obligera pas à effectuer des opérations manuelles car son stockage est basé sur le binaire Rollback
SVN n'autorise pas la restauration après la soumission. Nous vous recommandons d'ajouter la bonne version dans le référentiel jusqu'à la fin et d'écraser la version corrompue. La version corrompue sera de toute façon stockée dans la base de données. Transactions
Prend en charge le principe de transaction "zéro ou un", qui est un avantage majeur de SVN Architecture, code, évolutivité
Les développeurs Subversion passent vraiment beaucoup de temps sur l'architecture interne. Nous ne savons toujours pas à quel point ces décisions étaient vraies, etc. Mais une chose est sûre, le code présente une bonne évolutivité et des travaux d'amélioration sont également en cours. Opérations de renommage et de suppression
Prend en charge le renommage et la soumission des fichiers. Le système vous demandera de supprimer les anciens fichiers et d'en créer de nouveaux
Autorisations d'accès utilisateur Il existe quatre autorisations : lecture, écriture, création, aucune. Personne ne peut supprimer le dossier (l'administrateur ne peut exécuter que sur le serveur et. télécharger les fichiers correspondants Suppression cruelle ? Je ne connais que cette méthode pour l'instant...) Il n'y a que trois autorisations : lecture, écriture et aucune Les autorisations de création et de suppression semblent être groupées avec l'écriture
Création de branches et. lignes de base CVS crée Lors de la création d'une branche, tous les fichiers branchés doivent être exploités de manière séquentielle. Par conséquent, le coût d'établissement d'une branche (principalement le temps nécessaire à l'établissement d'une branche ou les ressources informatiques consommées) est proportionnel au nombre de fichiers participants. dans la branche. Plus le projet est grand, plus le référentiel est grand, plus il y a de fichiers et plus le coût d'établissement d'une branche est similaire à celui-ci ; Les branches et bases de référence de SVN sont établies en effectuant des « copies » : rappelez-vous comment nous effectuions la gestion dite des "branches" et des "bases de référence" avant l'introduction des outils de gestion de versions ? La réponse est évidemment « copie » - nous établissons une base de référence via « copie » ou « sauvegarde » de la même manière, pour prendre en charge plusieurs développeurs développant en même temps, nous créons une « copie » pour chaque développeur ;

(Partage de vidéos d'apprentissage : Vidéo de programmation de base)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Qu’est-ce que Pinduoduo ?Article suivant:Qu’est-ce que Pinduoduo ?