RCS : développé en 1982 par Walter F.Tichy
Considéré comme une version améliorée et libre du traditionnel SCCS de l’époque.
Ce système est limité car une seule personne peut intervenir sur un fichier pendant que les autres doivent attendre avant d’apporter des modifications ou de continuer le développement.
CVS : développé en 1986 par Dick Grune
Arrivé comme la suite logique au RCS, CVS est devenu très populaire car il permettait enfin de travailler à plusieurs sur un fichier et également de travailler sur plusieurs fichiers en même temps. CVS permet également de conserver la trace des modifications apportées et conserve les différentes versions.
Cependant l’architecture et le système de renommage entre autres ont été l’objet de nombreuses critiques de la part des developeurs.
SVN ou Subversion : développé en 2000 par Jim Blandy et Karl Fogel
Subversion a été écrit afin de combler certains manques de CVS.
Voici les principaux apports :
Les commits, ou publications des modifications sont atomiques. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques
Subversion permet le renommage et le déplacement de fichiers ou de répertoires sans en perdre l'historique ;
les métadonnées sont versionnées : on peut attacher des propriétés, comme les permissions, à un fichier, par exemple.
Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :
Les numéros de révision sont désormais globaux (pour l'ensemble du dépôt) et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d'une version particulière d'un projet, en ne retenant qu'un seul numéro ;
svn rename (ou svn move) permet de renommer (ou déplacer) un fichier ;
Les répertoires et méta-données sont versionnés.
screenshot of credits slide
From http://www.cinlug.org/files/education/cvsvssvn.pdf:
"- When developing software, programmers often use a revision control
system to assist them with source code management.
- These systems are tools for recording, tracking and manipulating changes
made to source code.
- Originally there was RCS (The GNU Revision Control System) for free
software and open source development.
- CVS (The Concurrent Versions System) was later created to address
some of the major drawbacks of RCS.
- SVN (Subversion) was was recently created to address some of the major
drawbacks of CVS."
and.... Git was created to address some of the major drawbacks of CVS and SVN...
Do will have a next one? Does someone know the major drawbacks of Git?
someone in an other topic speaks about the difficulty to use Git (interface, confusion with the meaning of the usual fonctions, etc...)
RCS : développé en 1982 par Walter F.Tichy
Considéré comme une version améliorée et libre du traditionnel SCCS de l’époque.
Ce système est limité car une seule personne peut intervenir sur un fichier pendant que les autres doivent attendre avant d’apporter des modifications ou de continuer le développement.
CVS : développé en 1986 par Dick Grune
Arrivé comme la suite logique au RCS, CVS est devenu très populaire car il permettait enfin de travailler à plusieurs sur un fichier et également de travailler sur plusieurs fichiers en même temps. CVS permet également de conserver la trace des modifications apportées et conserve les différentes versions.
Cependant l’architecture et le système de renommage entre autres ont été l’objet de nombreuses critiques de la part des developeurs.
SVN ou Subversion : développé en 2000 par Jim Blandy et Karl Fogel
Subversion a été écrit afin de combler certains manques de CVS.
Voici les principaux apports :
Les commits, ou publications des modifications sont atomiques. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques
Subversion permet le renommage et le déplacement de fichiers ou de répertoires sans en perdre l'historique ;
les métadonnées sont versionnées : on peut attacher des propriétés, comme les permissions, à un fichier, par exemple.
Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :
Les numéros de révision sont désormais globaux (pour l'ensemble du dépôt) et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d'une version particulière d'un projet, en ne retenant qu'un seul numéro ;
svn rename (ou svn move) permet de renommer (ou déplacer) un fichier ;
Les répertoires et méta-données sont versionnés.
(Sources Wikipedia et http://www.ibr.cs.tu-bs.de/kb/revision-control.html\)