J’ai écrit un article (« white-paper ») pour mon manager : « Why using CVS instead of VSS ? » avec beaucoup de plaisir. Historiquement ma societé utilise VSS de Microsoft pour la gestion des sources. VSS n’est pas un mauvais produit, mais il y a quelques limitations qui nous empêchent d’être plus efficace. Je peux faire ici de l’évangélisation pour CVS face à VSS, mais j’ai l’impression que ces 2 produits ne sont pas comparables. Tout simplement.
Les bonnes raisons pour passer de VSS à CVS:
- Il existe des clients CVS sous Solaris et Linux.
- CVS est un produit robuste, open-source,libre et sûr alors que VSS est connu pour sa capacité à corrompre une base
- CVS est plus rapide pour les opérations de mise à jour que VSS. Je télécharge notre arborescence VSS en 14 mn alors qu’il me faut 2mn43 pour faire un « cvs checkout »
- CVS propose différent moyen d’accès réseau: ssh, local, rsh, kerberos alors que VSS utilise des montages SMB (disque réseau) et ne marche pas à distance. Il vous faut un VPN avec des disques réseaux montés sous Windows.
- Microsoft n’a pas mis à jour VSS depuis fin 2002 alors que les nouvelles versions de CVS pour fixer des bugs ou des problèmes de sécurité sont mise à jour régulierement.
- Lorsque CVS est utilisé avec l’éditeur Java IntelliJ IDEA un nouveau panel est ajouté. Il permet de voir en 1 clique les fichiers modifiés localement. Plus globalement, CVS est reconnu par casiment tous les éditeurs Java: Netbeans, JBuilder, Forte ou SUN One studio(pareil que netbeans) et Eclipse. Mais pas par VisualAge qui est une antiquité de toute façon.
- CVS est bien intégré avec Ant dans les makefiles et permet de faire des scripts d’auto-compilation nocturnes (nightly build) ou des scripts de packaging de sources facilement
- CVS est capable de faire des branches et de merger des sources. VSS est une horreur avec les Labels. Si vous réappliquez le même label VSS sur une arbo, que vous faites ensuite une opération de Checkout en utilisant ce Label, vous ne récuperez pas les fichiers les plus récents mais les premiers qui avaient eu ce Label…
- CVS et InstallAnywhere de Zerog.com travaillent ensemble à partir de Ant: vous pouvez sortir vos sources de CVS, les compiler et enfin les packager avec InstallAnywhere. Et ce, à partir de Solaris, Linux et Windows.
- CVS ne coûte rien à l’achat, il faut par contre prendre le temps de bien l’apprendre du côté administrateur, il ne faut pas le jeter en pature aux développeurs qui n’ont jamais utilisé un gestionnaire de sources ou pire qui ont déjà travaillé sur VSS avant.
CVS est un logiciel qui vous ferra gagner de l’argent ou CVS is really a money-maker tool