Appendix A. Subversion pour les utilisateurs de CVS

Table of Contents

Revision Numbers Are Different Now
Directory Versions
More Disconnected Operations
Distinction Between Status and Update
Status
Update
Branches and Tags
Metadata Properties
Conflict Resolution
Binary Files and Translation
Versioned Modules
Authentication
Converting a Repository from CVS to Subversion

Cette annexe est un guide pour les utilisateur de CVS, nouveau sur Subversion. C'est essentiellement une liste de différences entre les deux systèmes “vu de très haut”. Pour chaque section, nous fournissons des références si possible aux chapitres appropriés.

Bien que le but de Subversion soit de reprendre l'actuelle et future base d'utilisateurs de CVS, quelques nouveautés et changements de conception ont été exigés pour corriger certains “mauvais” comportements que CVS avait. Ceci signifie que, en tant qu'utilisateur de CVS, vous pourrez être amené à devoir changer vos habitudes, celles dont vous avez oublié qu'elles vous paraissaient bizarres lorsque vous avez commencé.

Revision Numbers Are Different Now

In CVS, revision numbers are per-file. This is because CVS stores its data in RCS files; each file has a corresponding RCS file in the repository, and the repository is roughly laid out according to the structure of your project tree.

In Subversion, the repository looks like a single filesystem. Each commit results in an entirely new filesystem tree; in essence, the repository is an array of trees. Each of these trees is labeled with a single revision number. When someone talks about “revision 54”, they're talking about a particular tree (and indirectly, the way the filesystem looked after the 54th commit).

Technically, it's not valid to talk about “revision 5 of foo.c”. Instead, one would say “foo.c as it appears in revision 5”. Also, be careful when making assumptions about the evolution of a file. In CVS, revisions 5 and 6 of foo.c are always different. In Subversion, it's most likely that foo.c did not change between revisions 5 and 6.

For more details on this topic, see the section called “Révisions”.