SVNBOOK Preface What is Subversion?
Un article de Framalang Wiki.
Cette page fait partie du projet Version control with subversion.
| Pseudo | Code | Rôle | Statut |
|---|---|---|---|
| Owl_Express | LBT | Traduction | Terminé |
| Relecture | |||
| Validation |
[modifier] Titre
[modifier] Paragraphe 1
[modifier] Paragraphe 2
[modifier] Paragraphe 3
[modifier] Paragraphe 4
Subversion's History
In early 2000, CollabNet, Inc. (http://www.collab.net) began seeking developers to write a replacement for CVS. CollabNet offers a collaboration software suite called CollabNet Enterprise Edition (CEE) of which one component is version control. Although CEE used CVS as its initial version control system, CVS's limitations were obvious from the beginning, and CollabNet knew it would eventually have to find something better. Unfortunately, CVS had become the de facto standard in the open source world largely because there wasn't anything better, at least not under a free license. So CollabNet determined to write a new version control system from scratch, retaining the basic ideas of CVS, but without the bugs and misfeatures.L'Histoire de Subversion
Au début des années 2000, CollabNet, Inc. (http://www.collab.net) avait commencé à rechercher des développeurs pour écrire un remplaçant à CVS. CollabNet fournit une suite logicielle de collaboration appelée "CollabNet Enterprise Edition (CEE)" dont l'un des composant est le contrôle de version. Même si CEE utilisait CVS comme système de gestion de version initial, les limitations de celui-ci étaient évidentes depuis le début, et CollabNet savait qu'il faudrait finalement trouver quelque chose de mieux. Malheureusement, CVS était devenu le standard de fait dans le monde Open Source essentiellement parce qu'il n'y avait rien de mieux, en tout cas sous licence libre. Donc CollabNet décida d'écrire un nouveau système de contrôle de versions ex-nihilo, en conservant les idées de base de CVS, mais sans ses bogues et ses limitations fonctionnelles.[modifier] Paragraphe 5
[modifier] Paragraphe 6
The original design team settled on some simple goals. They didn't want to break new ground in version control methodology, they just wanted to fix CVS. They decided that Subversion would match CVS's features, and preserve the same development model, but not duplicate CVS's most obvious flaws. And although it did not need to be a drop-in replacement for CVS, it should be similar enough that any CVS user could make the switch with little effort.
L'équipe d'origine s'était entendue sur quelques buts simples. Ils ne voulaient pas inventer de nouvelles méthodes de gestion de versions, ils voulaient juste corriger CVS. Ils avaient décidé que Subversion reprendrait les fonctionnalités de CVS et préserverait son modèle de développement mais ne reproduirait pas ses faiblesses les plus évidentes. Malgré le fait que Subversion devait pouvoir avoir ses propres spécificités, il devait être assez semblable à CVS pour que n'importe lequel de ses utilisateurs puisse facilement utiliser Subversion.
[modifier] Paragraphe 7
[modifier] Paragraphe 8
[modifier] Paragraphe 9
Subversion's Features
When discussing the features that Subversion brings to the version control table, it is often helpful to speak of them in terms of how they improve upon CVS's design. If you're not familiar with CVS, you may not understand all of these features. And if you're not familiar with version control at all, your eyes may glaze over unless you first read Chapter 1, Fundamental Concepts, in which we provide a gentle introduction to version control.Les fonctionnalités de Subversion
Pour présenter les fonctionnalités de Subversion au sujet du contrôle de version, il est souvent utile de détailler les améliorations par rapport à la conception de CVS. Si vous ne connaissez pas CVS, vous ne pourrez pas comprendre toutes ces fonctionnalités. Et si vous ne connaissez pas du tout le contrôle de version, vous risquez de sécher à moins de lire d'abord le chapitre 1, «les concepts fondamentaux», dans lesquels nous fournissons une introduction en douceur au contrôle de version.
[modifier] Paragraphe 10
Subversion provides:
Directory versioning
- CVS only tracks the history of individual files, but Subversion implements a “virtual” versioned filesystem that tracks changes to whole directory trees over time. Files and directories are versioned.
Subversion fournit :
Le versionnage de répertoires
- CVS ne permet que le suivi de l'histoire des fichiers individuels, mais Subversion implémente un système de fichiers versionné « virtuel » qui permet le suivi des changements d'arborescences de fichiers complètes à travers le temps. Les fichiers et les répertoires sont versionnés.
[modifier] Paragraphe 11
True version history
- Since CVS is limited to file versioning, operations such as copies and renames—which might happen to files, but which are really changes to the contents of some containing directory—aren't supported in CVS. Additionally, in CVS you cannot replace a versioned file with some new thing of the same name without the new item inheriting the history of the old—perhaps completely unrelated—file. With Subversion, you can add, delete, copy, and rename both files and directories. And every newly added file begins with a fresh, clean history all its own.
Un véritable historique de version
- Comme CVS est limité à la gestion de version de fichiers, des opérations comme la copie ou le changement de nom ( qui peuvent toujours arriver aux fichiers, mais qui sont en réalité des changement du contenu de quelques répertoires ) ne sont pas supportés par CVS. De plus, dans CVS vous ne pouvez pas remplacer un fichier versionné par quelque chose du même nom sans que cet objet n'hérite de l'histoire de l'ancien ( et peut-être complètement sans rapport ) fichier. Avec Subversion, vous pouvez ajouter, effacer, copier, et renommer à la fois des fichiers et des répertoires. Et tout fichier nouvellement ajouté commence avec une histoire vierge et qui lui est propre.
[modifier] Paragraphe 12
Atomic commits
- A collection of modifications either goes into the repository completely, or not at all. This allows developers to construct and commit changes as logical chunks, and prevents problems that can occur when only a portion of a set of changes is successfully sent to the repository.
Validation atomique
- Un lot de modifications ne peut être transmit au dépôt qu'entièrement ou pas du tout. Ceci permet aux développeurs de construire et valider des modifications comme des ensembles logiques, et donc d'éviter les problèmes qui pourraient survenir si une partie seulement des modifications était arrivée au dépôt avec succès.
[modifier] Paragraphe 13
Versioned metadata
- Each file and directory has a set of properties—keys and their values—associated with it. You can create and store any arbitrary key/value pairs you wish. Properties are versioned over time, just like file contents.
Métadonnées versionnées
- Chaque fichier et répertoire possède un lot de propriétés associées. ( des clés et leurs valeurs ) Vous pouvez créer et stocker toute paire clé/valeur arbitraire que vous voulez. Ces propriétés sont versionnées au fil du temps, au même titre que le contenu des fichiers.
[modifier] Paragraphe 14
Choice of network layers
- Subversion has an abstracted notion of repository access, making it easy for people to implement new network mechanisms. Subversion can plug into the Apache HTTP Server as an extension module. This gives Subversion a big advantage in stability and interoperability, and instant access to existing features provided by that server—authentication, authorization, wire compression, and so on. A more lightweight, standalone Subversion server process is also available. This server speaks a custom protocol which can be easily tunneled over SSH.
Choix des couches réseau
- Subversion accède au dépôt par des notions abstraites, ce qui permet aux utilisateurs d'implémenter facilement de nouveaux mécanismes réseau. Subversion peut se greffer au serveur HTTP Apache comme un module d'extension. Ceci fournit à Subversion un gros avantage en termes de stabilité et d'interopérabilité ainsi qu'un accès instantané aux fonctions fournies par ce serveur ( authentification, autorisation, compression des données, etc ... ) Un logiciel serveur autonome et plus léger est aussi disponible. Ce serveur dialogue via un protocole spécifique qui peut facilement être canalisé à travers SSH.
[modifier] Paragraphe 15
Consistent data handling
- Subversion expresses file differences using a binary differencing algorithm, which works identically on both text (human-readable) and binary (human-unreadable) files. Both types of files are stored equally compressed in the repository, and differences are transmitted in both directions across the network.
Une gestion des données cohérente
- Subversion cherche les différences entre les fichiers en utilisant un algorithme de comparaison binaire, qui fonctionne de la même façon avec des fichiers texte (lisible par un être humain) et du binaire (illisible par l'être humain). Les deux types de fichiers sont stockés compressés de la même manière dans le dépôt et les différences sont transmises dans les deux directions par le réseau.
[modifier] Paragraphe 16
Efficient branching and tagging
- The cost of branching and tagging need not be proportional to the project size. Subversion creates branches and tags by simply copying the project, using a mechanism similar to a hard-link. Thus these operations take only a very small, constant amount of time.
Une dérivation et un étiquetage efficace
- Le coût de dérivation et d'étiquetage ne doit pas être proportionnel à la taille du projet. Subversion crée des branches et des étiquettes tout simplement en copiant le projet, utilisant un mécanisme proche du lien physique. Par conséquent ces opérations prennent un temps très court et constant.
[modifier] Paragraphe 17
Hackability
- Subversion has no historical baggage; it is implemented as a collection of shared C libraries with well-defined APIs. This makes Subversion extremely maintainable and usable by other applications and languages.
La bidouillabilité (? Capacité à être modifié ?) -> ou L'accessibilté ...
- Subversion n'a pas de lourd héritage historique; il est implémenté comme une collection de librairies partagées en C avec des APIs ( interfaces de programmation ) bien définies. Ceci rend Subversion facile à maintenir et utilisable par d'autres applications et d'autres langages.
J'ai ici introduit un néologisme/barbarisme volontairement, il n'y a pas en français technique (dans le milieux des informaticiens ou je travaille) de traduction pour "Hacking" ... J'ai trouvé sur GrandDictionnaire.com « bidouillage » pour traduire "Hack" ...
Ça m'a plu. Mais je comprendais que ce ne soit pas accepté par tous ...[modifier] Paragraphe 18
Subversion's Architecture
Figure 1, “Subversion's Architecture” illustrates a “mile-high” view of Subversion's design.
On one end is a Subversion repository that holds all of your versioned data. On the other end is your Subversion client program, which manages local reflections of portions of that versioned data (called “working copies”). Between these extremes are multiple routes through various Repository Access (RA) layers. Some of these routes go across computer networks and through network servers which then access the repository. Others bypass the network altogether and access the repository directly.L'architecture de Subversion
Figure 1, « L'architecture de Subversion » illustre une vue a « Grosse maille » du schéma de conception de Subversion.
D'un côté nous avons un dépôt Subversion qui contient toutes vos données versionnées. De l'autre côté, il y a votre programme client Subversion, qui gère des reflets de bouts de ces données versionnées. ( appelées « copies de travail » ) Entre ces deux extrêmes il y a des chemins multiples à travers les couches d'accès au dépôt. Certains de ces chemins passent à travers les réseaux informatiques et les serveurs du réseau et ensuite au dépôt. D'autres court-circuittent le réseau entier et accèdent directement au dépôt.[modifier] Paragraphe 19
Subversion's Components
Subversion, once installed, has a number of different pieces. The following is a quick overview of what you get. Don't be alarmed if the brief descriptions leave you scratching your head—there are plenty more pages in this book devoted to alleviating that confusion.Les conposantes de Subversion
L'installation de Subversion fournit de nombreux composants. Ce qui suit est un survol rapide de ce dont vous disposez. Ne vous alarmez si certaines de ces brèves descriptions vous laissent dubitatifs; Il y a plein de pages dans ce livre pour répondre à ces doutes.[modifier] Paragraphe 20
svn
- The command-line client program.
svn
- Le programme client en ligne de commande.
[modifier] Paragraphe 21
svnversion
- A program for reporting the state (in terms of revisions of the items present) of a working copy.
svnversion
- Un programme pour rapporter l'état d'une copie de travail. ( En termes de révision des éléments présents)
[modifier] Paragraphe 22
svnlook
- A tool for directly inspecting a Subversion repository.
svnlook
- Un outil qui permet d'inspecter directement dans un dépôt Subversion.
[modifier] Paragraphe 23
svnadmin
- A tool for creating, tweaking or repairing a Subversion repository.
svnadmin
- Un outil destiné à la création, la modification ou la réparation d'un dépôt Subversion.
[modifier] Paragraphe 24
svndumpfilter
- A program for filtering Subversion repository dump streams.
svndumpfilter
- Un programme qui permet de filtrer les flots d'export de vos dépôts.
[modifier] Paragraphe 25
mod_dav_svn
- A plug-in module for the Apache HTTP Server, used to make your repository available to others over a network.
mod_dav_svn
- Un module plugiciel pour le serveur HTTP Apache, utilisé pour rendre votre dépôt disponible pour les autres à travers un réseau.
[modifier] Paragraphe 26
svnserve
- A custom standalone server program, runnable as a daemon process or invokable by SSH; another way to make your repository available to others over a network.
svnserve
- Un serveur autonome personalisé, pouvant être lancé comme un processus démon ou pouvant être invoqué par SSH; une autre façon de rendre votre dépôt accessible aux autres à travers un réseau.
[modifier] Paragraphe 27
svnsync
- A program for incrementally mirroring one repository to another over a network.
svnsync
- Un programme pour synchroniser incrémentallement deux dépôts miroirs à travers un réseau.

