23-10-2010, 08:49 PM
J'ai bossé avec svn, git, Telelogic Synergy, Clearcase.
Les deux derniers sont des systèmes assez lourds où il faut quasiment un administrateur à temps plein, mais c'est des gros systèmes pour des grosses entreprises, pas des PME.
Mon avis personnel, pour avoir vu plusieurs entreprises de taille variables et utilisant des systèmes différents, c'est que l'efficacité tient beaucoup plus des processus d'intégrations que de l'outil utilisé.
Par exemple en ce moment, on travaille avec un fournisseur qui est capable de nous (re)livrer des bugs qui ont été fixé il y a deux moins chez eux. Simplement parce qu'ils ont pas des process d'intégrations clairs ils jonglent avec plusieurs branches, ils passent leur temps à les merger et ils s'embrouillent...
Que ce soit git ou svn ça change pas grand chose au final, par contre c'est important de définir un plan d'intégration a priori, avec des trucs évidents mais indispensables comme:
- les conventions de nommage des releases, des branches, etc
- le planning des release
- les infos minimum dans les message de commit
- qui est responsable de quoi et comment ?
- les tests d'intégrations minimum à passer
- etc
(De toute façon même si tu utilises SVN sur un serveur centralisé, rien n'empêches les gens d'utiliser git en local, en plus il y a un ensemble de scripts git-svn pour faciliter l'intégration entre les deux systèmes).
A part ça, de ce que j'ai pu constaté dans les boîtes, c'est que les systèmes décentralisés ont pas forcément la côte auprès du management. Je pense que c'est simplement parce que c'est plus dur de déterminer quel est le soft officiel et lequel ne l'est pas... Et c'est plus facile pour un développeur de bosser dans son coin sans vraiment qu'on puisse savoir ce qu'il fait ou non, tant qu'il commit pas sur un serveur centralisé... Ca dépend du niveau de confiance qu'on a envers les gens avec qui on travaille.
A mon avis, tu devrais déjà décider comment tu veux organiser le travail avant de choisir l'outil, sinon c'est mettre la charrue avant les boeufs.
Les deux derniers sont des systèmes assez lourds où il faut quasiment un administrateur à temps plein, mais c'est des gros systèmes pour des grosses entreprises, pas des PME.
Mon avis personnel, pour avoir vu plusieurs entreprises de taille variables et utilisant des systèmes différents, c'est que l'efficacité tient beaucoup plus des processus d'intégrations que de l'outil utilisé.
Par exemple en ce moment, on travaille avec un fournisseur qui est capable de nous (re)livrer des bugs qui ont été fixé il y a deux moins chez eux. Simplement parce qu'ils ont pas des process d'intégrations clairs ils jonglent avec plusieurs branches, ils passent leur temps à les merger et ils s'embrouillent...
Que ce soit git ou svn ça change pas grand chose au final, par contre c'est important de définir un plan d'intégration a priori, avec des trucs évidents mais indispensables comme:
- les conventions de nommage des releases, des branches, etc
- le planning des release
- les infos minimum dans les message de commit
- qui est responsable de quoi et comment ?
- les tests d'intégrations minimum à passer
- etc
(De toute façon même si tu utilises SVN sur un serveur centralisé, rien n'empêches les gens d'utiliser git en local, en plus il y a un ensemble de scripts git-svn pour faciliter l'intégration entre les deux systèmes).
A part ça, de ce que j'ai pu constaté dans les boîtes, c'est que les systèmes décentralisés ont pas forcément la côte auprès du management. Je pense que c'est simplement parce que c'est plus dur de déterminer quel est le soft officiel et lequel ne l'est pas... Et c'est plus facile pour un développeur de bosser dans son coin sans vraiment qu'on puisse savoir ce qu'il fait ou non, tant qu'il commit pas sur un serveur centralisé... Ca dépend du niveau de confiance qu'on a envers les gens avec qui on travaille.
A mon avis, tu devrais déjà décider comment tu veux organiser le travail avant de choisir l'outil, sinon c'est mettre la charrue avant les boeufs.
S'amuse bien avec Ruby on Rails (pour l'instant...)