Maison  >  Article  >  développement back-end  >  Qu'est-ce que SVN

Qu'est-ce que SVN

藏色散人
藏色散人original
2018-12-24 11:24:258434parcourir

Qu'est-ce que SVN

Qu'est-ce que SVN (Subversion) ?

Avant 2010, Apache Subversion (SVN en abrégé) était l'un des systèmes de contrôle de version les plus populaires. De nos jours, la popularité de SVN est en déclin, mais des millions de lignes y sont toujours stockées. Il continue même d'être activement maintenu, bien que par une petite communauté open source.

La naissance de SVN

À la fin des années 1990, le système de versions simultanées (ou CVS) était largement utilisé pour le développement de logiciels dans des projets open source et commerciaux. Cependant, CVS a commencé à recevoir des critiques. Il ne prend pas en charge les outils tiers et ne prend absolument pas en charge les protocoles http/https/ssh. Il est rapidement devenu inférieur aux normes et un meilleur système était nécessaire.

En 2000, le développement de SVN a véritablement commencé. L'objectif est de créer un successeur compatible à CVS.

Bien que le développement de SVN ait commencé en 2000, la version 1.0 n'est sortie qu'en février 2004. Il imite de nombreuses fonctionnalités trouvées dans CVS, mais il introduit également de nouvelles fonctionnalités manquantes dans CVS. Les utilisateurs peuvent désormais exécuter des commandes atomiques et pouvoir renommer et déplacer des fichiers versionnés.

SVN est devenu un projet Apache en novembre 2009, lorsqu'il a été accepté dans l'incubateur Apache. Après l'introduction de SVN dans le monde, l'adoption de CVS a progressivement disparu.

Articles connexes recommandés :
1.Quelle est la différence entre Git et Svn
2.Comment installer l'outil Svn
Recommandations vidéo associées
 :
1.Tutoriel vidéo SVN (Podcast Chuanzhi)

Comment fonctionne Subversion ?

SVN a été conçu à l'origine comme une interface de ligne de commande. Cela signifie que vous ouvrirez un terminal et saisirez des commandes de texte.

Pour que Subversion fonctionne, une configuration SVN nécessite deux éléments principaux :

1. Le serveur, qui contient toutes les versions de tous les fichiers sources.

2. les fichiers Une copie est sur votre ordinateur.

Les fichiers sur votre ordinateur sont appelés fichiers de travail. Ce sont les fichiers que chaque utilisateur modifie. Les utilisateurs valident ensuite leurs modifications sur le serveur SVN, également connu sous le nom de référentiel.

Chaque fois qu'un utilisateur valide une modification, SVN la gère et l'enregistre en créant une nouvelle version. Comme pour la plupart des systèmes de contrôle de version, les utilisateurs utilisent généralement la dernière version. Mais vous pouvez revenir à une version antérieure si vous avez besoin d’une ancienne version.

Qu'est-ce qu'un serveur SVN ? (Qu'est-ce qu'un serveur Subversion ?)

Le serveur SVN contient tous les fichiers sources ainsi que toutes les versions des fichiers. Dans le monde SVN, les serveurs sont appelés référentiels. Ainsi, le serveur SVN et le référentiel SVN sont la même chose. La copie locale du

fichier (stockée sur votre ordinateur) est appelée la copie de travail.

SVN est-il distribué ou centralisé ?

Les systèmes de contrôle de version peuvent être grossièrement divisés en deux catégories : Système de contrôle de version distribué (DVCS) et Système de contrôle de version centralisé (CVCS) .

SVN est un système de contrôle de version centralisé.

Un système de contrôle de version centralisé signifie que l'historique des versions est stocké sur un serveur central. Lorsque les développeurs souhaitent apporter des modifications à certains fichiers, ils extraient les fichiers de ce référentiel central vers leurs ordinateurs. Une fois que les développeurs ont apporté des modifications, ils renvoient les fichiers modifiés au référentiel central.

Système de contrôle de version centralisé et évolutif utilisant Helix Core. Ou utilisez Helix4Git pour les workflows distribués basés sur Git.

Défis auxquels SVN est confronté

SVN a un modèle de branchement encombrant

La plainte la plus courante concernant SVN est son modèle de branchement encombrant. Les branches vous permettent de travailler sur plusieurs versions de votre code en même temps. Dans SVN, les branches sont créées sous forme de répertoires dans le référentiel. De nombreux développeurs n'aiment pas cette structure de répertoires. Mais les défis ne s'arrêtent pas là.

La version 1.6 de SVN a introduit un concept appelé conflit d'arbre. Les conflits d'arborescence sont des conflits provoqués par des modifications dans la structure des répertoires et ils se produisent fréquemment. Cela augmente la complexité de la mise en œuvre des stratégies de branchement dans SVN puisque SVN ne vous permet pas de valider les modifications lorsqu'un conflit d'arborescence se produit.

SVN vous demande de vous connecter au référentiel central

Afin de valider les modifications, SVN vous demande de vous connecter au référentiel central.

Utiliser SVN sans se connecter à un dépôt central est inutile. Par exemple, si vous codez hors ligne - pendant un vol, par exemple - SVN ne vous permettra pas de vous engager dans le référentiel central tant que la connexion n'est pas rétablie.

SVN vous oblige à résoudre les conflits manuellement.

Les fusions sont un autre gros problème dont les développeurs se plaignent souvent avec SVN. Si vous utilisez l'historique pour apporter un ensemble de modifications et les valider, alors une autre modification (c'est-à-dire linéaire) est effectuée et validée, la fusion sera facile.

Les choses se compliquent lorsque deux développeurs ou plus travaillent sur la même base de code et que vous devez fusionner. Dans ce cas, SVN échoue et le développeur doit résoudre manuellement le conflit, ce qui fait perdre des heures au développeur.

Pourquoi utiliser SVN

Il y a quelques années, Git et d'autres systèmes de contrôle commerciaux ont dépassé SVN. Mais SVN a quand même deux raisons : le coût et l'inertie .

Coût : SVN est open source, ce qui signifie qu'il est "gratuit".

Inertie : Une fois que vous avez construit une grande base de code, il peut être difficile de changer de VCS. SVN existe depuis 2004 et les organisations qui l'adoptent disposent de millions de lignes de code.

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