Question

J'aide le SCM à installer un nouveau programme et nous sommes en train de décider d'un VCS.

Les principaux concurrents à ce stade sont SVN, ClearCase, SVN + DVCS et juste un DVCS.

Pour le moment, l'équipe penche vers le SVN ou le SVN + DVCS. Nous voulons éviter les dépenses et les coûts d’administration de ClearCase, mais nous voulons les options de flux de travail et de gestion des versions qu’il offre. J’ai également proposé d’utiliser un DVCS, et l’idée est à l’étude.

Pour le DVCS, nous considérons Mercurial, Bazaar et Git. L’équipe se sent à l’aise avec SVN, mais ne pense pas qu’elle offrira la polyvalence nécessaire. C’est pourquoi nous examinons le DVCS au-dessus de l’option SVN.

Quelqu'un a-t-il des conseils (outils et processus existants, par exemple) pour mettre en place une telle configuration?

Les préoccupations incluent:

  • Facilité d'installation
  • Configuration des workflows (développement de < - > critiques de code - > test - > trunk, puis trunk - > branche de test d'intégration - gt; release avec corrections de bugs dans les branches de release), audit (trouvé un bogue, quand a-t-il été introduit)
  • Génération de métriques
  • Courbe d'apprentissage raisonnable pour les développeurs habitués à ClearCase.
  • Développement Windows
  • Intégration du suivi des problèmes (probablement Redmine, même si cela n’est pas figé dans la pierre)
Était-ce utile?

La solution

En tant qu'administrateur de ClearCase, j'éliminerais cet outil sauf si vous avez un flux de travail de fusion complexe.

Le flux de travail implique la possibilité de créer des branches, de les corriger, puis de les fusionner facilement. , ce qui ne devrait pas être en faveur de SVN.

Le plus gros piège lorsque vous êtes habitué à ClearCase (surtout ClearCase non-UCM) est la & "composition &"; d'une spécification de configuration.
Si vous choisissez un DVCS (Mercurial, Bazaar - ou Git, car cela fonctionne très bien sous Windows ), vous pas pouvoir obtenir le même " effet d’héritage " - (lorsque vous sélectionnez différentes versions avec différentes règles de sélection successives - : comme indiqué dans cette réponse:

  

Dans un VCS purement central, vous pouvez définir votre espace de travail (dans ClearCase, votre & "; vue &"; instantanée ou dynamique) avec les règles de votre choix.
  Cela ne serait pas pratique dans un DVCS (comme dans & "Distributed &"): Lorsque vous créez une branche avec cette dernière, vous devez le faire avec un point de départ et un contenu clairement défini et facilement répliqué. vers d'autres référentiels.

Si vous utilisez ClearCase UCM, cela signifie qu’il faut identifier des ensembles cohérents de fichiers, ce qui ne peut être réalisé que par exemple - sous-modules Git .
La complexité est plus grande avec ces DVCS, car ils n'enregistrent pas les dépendances entre les modules (ou & Quot; ensemble de fichiers & Quot;) comme le fait ClearCase UCM.

Donc, pour récapituler:

  • Facilité d’installation: tous les DVCS mentionnés sont faciles à installer. Ce qu'il faut prendre en compte, c'est l'administration en termes d'accès utilisateur.
  • Configuration des flux de travail: un DVCS prend en charge tout type de flux de travail, même centralisé, public-privé ou .... S'agissant de la recherche d'un bogue, ils prennent tous en charge une sorte de processus en cours .
  • Génération de métriques: si vous entendez par là & "métriques sur le code géré &", elles prennent en charge un système de journalisation complet capable d'afficher de nombreuses informations sur ce qui a changé.
    Mais en termes de & Quot; métriques sur l’outil & Quot; (vitesse d'un processus ou espace pris par les données), les outils DVCS mentionnés sont considérés comme beaucoup plus rapides que SVN (voir ici à titre d'exemple ).
  • Courbe d’apprentissage raisonnable pour les développeurs ayant utilisé ClearCase: l’interface graphique peut être un facteur d’allégement de la courbe d’apprentissage, mais un DVCS est très différent de ClearCase, car cela & « concepts de base " La réponse illustre.
  • Développement Windows: ils fonctionnent tous bien sur la plate-forme Windows, avec peut-être un léger avantage (meilleure intégration) avec Mercurial ou Bazaar.
  • Intégration du système de suivi des problèmes (probablement Redmine, même si cela n’est pas figé dans le marbre): Redmine prend désormais en charge la plupart d’entre eux (et pas seulement SVN comme au début)

Autres conseils

Quel est le problème avec Git? J'utilise Git sous Windows maintenant. Cela fonctionne très bien. Les extensions Git sont très utiles si vous souhaitez une intégration de l'explorateur, si tel est votre problème.

Je n'ai pas d'expérience avec Clearcase, mais j'espère que ce qui suit aidera certains. Votre question laisse de côté plusieurs éléments d'information que je prendrais en compte avant de prendre une décision. D'abord, combien de code source aurez-vous? Tandis que SVN convient aux projets de moyenne à grande taille, des projets vraiment gigantesques comme le noyau Linux Git fourniront de bien meilleures performances. Deuxièmement, quel IDE utilisez-vous? Alors que Mercurial, Git et SVN ont tous des plugins Visual Studio et Eclipse de très bonne qualité. Selon l'article de Wikipedia sur Redmine, l'un des systèmes SCM que vous envisagez d'intégrer. Le blog suivant peut vous être utile car il est écrit d'acheter un gars qui écrit un système SCM pour gagner sa vie. http://www.ericsink.com/

Si vous pouviez supprimer l'obligation de fonctionner sous Windows, je vous conseillerais donc de consulter Aegis . / p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top