Les fonctionnalités de TortoiseSVN

Qu'est-ce qui fait de TortoiseSVN un si bon client Subversion ? Voici une courte liste des fonctionnalités.

Intégration dans le shell

TortoiseSVN s'intègre uniformément dans le shell Windows (c'est-à-dire l'explorateur). Cela signifie que vous pouvez continuer à travailler avec les outils avec lesquels vous êtes déjà familiers. Et vous n'avez pas à changer d'application à chaque fois que vous avez besoin des fonctionnalités du contrôle de version !

Et vous n'êtes même pas obligés d'utiliser l'explorateur Windows. Les menus contextuels de TortoiseSVN marchent dans beaucoup d'autres gestionnaires de fichiers et dans la boîte de dialogue Fichier/Ouvrir qui est commune à la plupart des applications Windows standards. Vous devriez, cependant, tenir compte que TortoiseSVN est intentionnellement développé comme extension pour l'explorateur Windows. Ainsi il est possible que dans d'autres applications l'intégration ne soit pas aussi complète et le recouvrement d'icônes peut ne pas s'afficher par exemple.

Recouvrement d'icônes

Le statut de chaque fichier et de chaque répertoire versionnés est indiqué par des petites icônes de recouvrement. De cette façon vous pouvez voir tout de suite quel est le statut de votre copie de travail.

Accès facile aux commandes de Subversion

Toutes les commandes de Subversion sont disponibles à partir du menu contextuel de l'explorateur. TortoiseSVN y ajoute son propre sous-menu.

Puisque TortoiseSVN est un client Subversion, nous voudrions aussi vous montrer certaines des fonctionnalités de Subversion :

Répertoires versionnés

CVS suit seulement à la trace l'histoire de fichiers individuels, mais Subversion met en oeuvre un système de fichiers « virtuel » versionné qui suit à la trace les changements sur des arborescences entières à travers le temps. Les fichiers et les répertoires sont versionnés. En conséquence, il y a du coté client de vraies commandes déplacer et copier qui fonctionnent sur les fichiers et les répertoires.

Livraisons atomiques

Une livraison va sur le référentiel complètement, ou pas du tout. Cela permet aux développeurs de construire et livrer les changements comme des morceaux logiques.

Metadonnées versionnées

Chaque fichier et chaque répertoire a un jeu invisible de « propriétés » attachées. Vous pouvez inventer et stocker n'importe quelle paire arbitraire clef/valeur que vous souhaitez. Les propriétés sont versionnées dans le temps, comme le contenu du fichier.

Choix de couches réseau

Subversion a une notion abstraite de l'accès au référentiel, le rendant facile à mettre en oeuvre à travers de nouveaux mécanismes de réseau. Le serveur réseau « avancé » de Subversion est un module pour le serveur Web Apache, qui utilise une variante de HTTP appelée WebDAV/DeltaV. Cela donne un grand avantage à Subversion en stabilité et en interopérabilité et fournit des différentes fonctionnalités clés gratuitement : authentification, autorisation, compression de fil et navigation de référentiel, par exemple. Un processus de serveur Subversion plus petit, autonome est aussi disponible. Ce serveur utilise un protocole personnalisé qui peut être facilement tunnelé par ssh.

Gestion cohérente des données

Subversion exprime les différences de fichier en utilisant un algorithme de différenciation binaire, qui travaille identiquement sur les fichiers textes (lisibles par l'homme) et les fichiers binaires (illisibles par l'homme). Les deux types de fichiers sont stockés également compressés dans le référentiel, et les différences sont transmises dans les deux directions à travers le réseau.

Embranchements et étiquetages efficaces

Le coût de l'embranchement et de l'étiquetage n'a pas besoin d'être proportionnel à la taille de projet. Subversion crée des branches et des étiquettes en copiant simplement le projet, en utilisant un mécanisme semblable à un lien dur. Ainsi ces opérations prennent seulement un temps très petit, constant et un espace très petit dans le référentiel.

Hackabilité

Subversion n'a aucun bagage historique ; il est mis en oeuvre comme une collection de bibliothèques C partagées avec des API bien définies. Cela fait que Subversion est extrêmement maintenable et utilisable par d'autres applications et d'autres langages.