Cette réflexion a été nourrie par les nombreuses demandes de la part de l'importante communauté CVS, ainsi que par des rapports de statistiques envoyés automatiquement par chaque appel à la commande CVS (une fonctionnalité non documentée rendue publique lors du départ de Brian).
Une nouvelle version de CVS, nommée CVS 2011, est donc en cours de réalisation afin de porter les fruits de cette longue réflexion.
Rien n'est encore finalisé, mais la nouvelle équipe se focalise sur trois points :
- nettoyage du code et suppression ou simplification des fonctionnalités existantes
- mise en place de concepts novateurs comme la gestion de source distribuée
- création d'outils performants de migration
$ cvs commit -j maBranche -m "Modifications apportées à la branche maBranche"
Checking in driver.c;
/usr/local/cvsroot/tc/driver.c,v
new revision: 1.2.2.1; previous revision: 1.1
done
En outre, une nouvelle commande "merge", permettra de fusionner plusieurs branches directement sur le serveur, sans intervention humaine. De quoi faciliter cette tâche toujours aussi pénible.
D'autres commandes seront purement et simplement abandonnées, comme la commande "blame", qui pourra être simulée en lançant quelques cvs up accompagnés de diff et de log. Le vocable "blame" ayant été jugé offensant par une partie de la communauté.
En ce qui concerne la mise au point de la version distribuée de CVS, il y a eu un différend entre l'idée originale de garder un mode centralisé et celle de se baser sur d'autres concepts plus ésotériques de "dépôt local" ou de "commit local". Les concepteurs originaux pensent que la chute du coût de la bande passante, ainsi que l'émergence d'appareils mobiles communicants (clé 3G, téléphones 3G, etc.) les confortent dans l'idée qu'un dépôt commun centralisé est une bonne chose. En effet, cela facilite le travail à plusieurs puisque tout le monde peut voir les modifications de tout le monde en temps réel. Les arguments de la nouvelle équipe ont néanmoins fait mouche lorsque la possibilité de travailler dans le train a été évoquée, Dick étant un fervent adepte de ce moyen de locomotion.
La nouvelle implémentation de DCVS (Decentralized Centralized Versionning System), dont l'utilisation reste optionnelle, permet d'obtenir un dépôt spécial à côté (et non pas à l'intérieur) de sa copie de travail, appelé "_REPOSITORY". Sans rentrer dans les détails, pour chaque commande DCVS, l'opération s'effectue dans le dépôt local (gain de temps). Une connexion est alors établie du dépôt local vers le dépôt central afin que celui-ci valide la commande (y compris pour les commandes comme diff, log, etc : la sémantique CVS est préservée). La communication des différences entre les différents dépôts locaux se fait comme à l'accoutumée, via une série de fichiers de patch que l'on pourra communiquer facilement (avec une clé USB par exemple). La mécanique a été prévue pour générer des patchs ne prenant pas plus de 1,44 Mo pour chaque fichier de patch.
Enfin, et c'est le point le plus important, afin d'attirer de plus en plus de monde vers CVS, la nouvelle équipe de développement a axé son travail sur l'écriture d'outils de migration facilitant la démarche de passage à CVS. On peut citer git2cvs, bzr2cvs, hg2cvs, svn2cvs, perforce2cvs et même msvisualsourcesafe2cvs. Bien sur, un cvs2dcvs permet de migrer vers un système décentralisé. Chaque outil a à sa disposition une pléthore d'options afin de peaufiner cette migration. Par exemple, l'option -j de la commande git2cvs permet de sélectionner la branche qui sera importée dans le nouveau dépôt CVS (pour le moment, git2cvs ne sait importer qu'une seule branche).
Toutes ces innovations permettront à CVS de redevenir le meilleur système de gestion de source. Linus Torvalds s'est d'ailleurs dit intéressé par une nouvelle migration du dépôt du noyau sous DCVS, d'où les efforts portés sur l'outil git2cvs. À n'en pas douter, l'année 2010 marquera le grand retour de CVS dans la course des systèmes de gestion de version distribués.
# J'ai failli y croire !
Posté par Pinaraf . Évalué à 0.
Bonne blague, en effet. Joli travail...
[^] # Re: J'ai failli y croire !
Posté par kenden . Évalué à 1.
# continuus
Posté par BAud (site web personnel) . Évalué à 3.
[^] # Re: continuus
Posté par dyno partouzeur de drouate . Évalué à 2.
(1) http://roland.entierement.nu/blog/2008/01/22/cpold-la-poudre(...)
# Un oubli
Posté par Hervé SUAUDEAU (site web personnel) . Évalué à 3.
# Linus c'est le déterminant
Posté par Olivier Jeannet . Évalué à 4.
[^] # Re: Linus c'est le déterminant
Posté par nomorsad . Évalué à 2.
"des rapports de statistiques envoyés automatiquement par chaque appel à la commande CVS (une fonctionnalité non documentée rendue publique lors du départ de Brian)."
Mais est-ce seulement une blague???
Bon sans rire, est-ce que quelqu'un audite les codes libre à la recherche de backdoor?
[^] # Re: Linus c'est le déterminant
Posté par Victor STINNER (site web personnel) . Évalué à 2.
# Marre de tous ces SCM
Posté par zerkman (site web personnel) . Évalué à 8.
CVS reste la référence, et ce n'est pas pour rien. C'est le seul à avoir sû garder des concepts fondamentaux comme la centralisation (on sait où sont les sources !), ou l'historique de chaque fichier. Ne parlons pas des performances inégalées jusqu'ici.
En plus cette version 2011 va mettre tout le monde d'accord, en poussant la simplicité à l'extrême. J'en attends énormément.
[^] # Re: Marre de tous ces SCM
Posté par KamelPanic . Évalué à 3.
[^] # Re: Marre de tous ces SCM
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 1.
la réécriture de RCS est prévue aussi ;D
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Marre de tous ces SCM
Posté par Antoine . Évalué à 3.
http://www.opencvs.org/
[^] # Re: Marre de tous ces SCM
Posté par GeneralZod . Évalué à 2.
[^] # Re: Marre de tous ces SCM
Posté par Antoine . Évalué à 3.
C'est un peu comme s'ils avaient fait un serveur Gopher "sécurisé" au lieu de passer à HTTP.
# CPOLD vaincra !
Posté par GeneralZod . Évalué à 4.
Moi, je retourne bosser avec ED, le standard EDitor !
[^] # Re: CPOLD vaincra !
Posté par Tonton Th (Mastodon) . Évalué à 3.
Miranda (de Columbia Internet) code directement sur le support magnétique avec une aiguille de boussole : le pôle nord pour écrire un 1 et le pôle sud pour 0.
[^] # Re: CPOLD vaincra !
Posté par GeneralZod . Évalué à 2.
[^] # Re: CPOLD vaincra !
Posté par Tonton Th (Mastodon) . Évalué à 3.
Avec un allume-gaz à quartz, mais très très petit.
ou un ramdisk ?
Avec des rayons cosmiques, ou un LHC très très très très petit.
# Poisson d'avril ?
Posté par Semeteys Raphaël . Évalué à 0.
# dès le titre on y croit pas
Posté par steph1978 . Évalué à 3.
[^] # Re: dès le titre on y croit pas
Posté par Emmanuel C . Évalué à 4.
Il y a des morceaux de réalité, tout de même, dans la dépêche :
- Dick Grune et Brian Berliner sont passés à autre chose depuis bien longtemps.
- une réflexion sur la gestion de source est toujours en cours, ce qui a donné des outils comme git, par exemple.
- il existe vraiment des outils comme svn2cvs ou git2cvs, mais ceux-ci ne servent qu'à la compatibilité arrière dans des cas qui sont, je pense, bien spécifiques.
Le reste est complètement faux, évidemment.
[^] # Re: dès le titre on y croit pas
Posté par steph1978 . Évalué à 1.
Mais ayant été utilisateur de cvs et maintenant de don plus proche successeurs svn, j'y ait pas cru, c'est tout ^^
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.