10
votes

Team Foundation Server vs. SVN et autres systèmes de contrôle de la source

Nous recherchons actuellement un système de contrôle de la version à utiliser dans nos projets. Actuellement, notre équipe a moins de 10 personnes. Nous utilisons VSS depuis 5 ans. Je n'ai jamais travaillé avec SVN et d'autres systèmes de contrôle de version.

Jusqu'à présent, nous utilisons des VSS, mais de nos jours, des systèmes de contrôle des sources plus puissants existent comme TFS, SVN, etc. Nous prévoyons de migrer nos projets vers Visual Studio 2010. La première idée qui vient à l'esprit est de commencer à utiliser TFS 2010 .

Ma question est la suivante: Quelle est la qualité de TFS par rapport aux autres systèmes de contrôle source? Est-ce une bonne idée de l'utiliser, ou devrions-nous plutôt utiliser SVN (ou tout autre système)?


8 commentaires

Il y a un coût substantiel pour TFS la dernière fois que j'ai vérifié. Cela pourrait prendre en compte votre décision.


Commentaire sur votre équipe - si TFS fonctionnera ou non dépend de votre équipe. Est-ce juste 1-2 personnes? 5-10? 20-100? Quel système de contrôle de source avez-vous utilisé dans le passé et quels problèmes et quels succès avez-vous eu avec cela? Si vous vous laissez savoir tout sur ces choses, alors nous pouvons vous aider.


@Robert TFS est maintenant livré avec la plupart des éditions de VS2010 gratuitement


TFS n'est pas un contrôle source. C'est la gestion de la source. Il y a une différence fondamentale ici concernant la gestion de la configuration et les systèmes de construction automatisés -> extension.


@wishi_ TFS inclut également le contrôle de la source. Voir en.wikipedia.org/wiki/team_foundation_server


SVN est ma préférence sur TFS.


@Adam - Les utilisateurs avec des skus professionnels ou meilleurs avec une abonnement MSDN sont sous licence pour un «déploiement de production», qui est une installation TFS entièrement licenciée et non restreinte. blogs.msdn.com/buckh/archive/2009/10/20/... Je l'ai vérifié avec notre représentant de compte MS, également. Il y a encore un SKU de détail qui est limité à cinq utilisateurs, mais n'est plus une "Edition de groupe de travail". Il y a cinq CAL implicites et vous pouvez acheter plus, au besoin. En bref - En cas de doute, contactez votre représentant de compte.


@Adam, même le SKU de détail a été réduit de 2500 £ à moins de 500 £. Et le SKU de détail permet à 5 utilisateurs sans cal. Cela signifie que vous pouvez avoir 5 utilisateurs non MSDN ainsi que tous ceux qui ont un accès MSDN.


3 Réponses :


2
votes

Martin Fowler a un POST intéressant À propos de ce sujet sur son site web.


1 commentaires

Bien que je respecte habituellement Martin Fowler, cet article donne au lecteur beaucoup de rien. Il commence à déclarer qu'il y a plusieurs outils très importants (comme TFS, ClearCase, etc.) qu'il ne recommande pas, mais indique clairement qu'il ne va pas s'adresser - du tout - Les raisons pour lesquelles.



10
votes

Team Foundation Server est une suite complète de gestion de cycle de vie des applications. Si vous avez une version professionnelle, prime ou ultime de Visual Studio 2010 avec un abonnement MSDN, Team Foundation Server 2010 est maintenant gratuit. Tous vos utilisateurs Visual Studio qui tombent sous cette classification, et ne nécessitent pas de cal. Cependant, les autres utilisateurs exigeront que vous achetiez des CALS à rester conformes à la licence.

Utilisation de Team Foundation Server 2010, vous obtiendrez un contrôle de source, une gestion des processus, un suivi des défauts, des services de construction, des rapports, des portails de projet, etc. SVN est strictement contrôle source. J'ai utilisé les deux, et ce sont des bêtes différentes. Il serait juste de dire que le type de fonctionnalités offertes par SVN est un sous-ensemble de Team Foundation Server, dans l'ensemble. Bien qu'il existe des connecteurs tiers pour faciliter le fonctionnement avec SVN à l'intérieur de Visual Studio (gratuitement, je crois - aussi), l'intégration native entre Visual Studio et Team Foundation Server est assez transparente. D'un point de vue administratif, sur le serveur et le niveau de projet, vous avez un excellent équilibre de facilité d'utilisation et de fonctionnalités.

Au cours des trois dernières années, ou deux - entre deux employeurs différents - j'ai configuré et installé Team Foundation Server et l'a maintenue au cours de sa vie. Les deux entreprises l'ont utilisé à leur avantage de pouvoir apporter un processus ordonné à leur SDLC. Le modèle MSF Agile V5, si vous êtes un magasin Agile / Scrum, est exceptionnel. La planification et la gestion du sprint n'a jamais été aussi facile avec aucun outil tel qu'il est maintenant.

Modifier - Ajout d'informations sur les petites équipes:

J'ai remarqué un commentaire à la question concernant les petites équipes. Team Foundation Server 2010, compte tenu de son prix, a du sens pour les petites équipes maintenant. Je ne l'aurais pas recommandé avec Team Foundation Server 2008, cependant. Avec la dernière version, il existe une très belle configuration "basique" qui fournit une installation léger, des signaux SANS et une fonctionnalité de portail. Vous pouvez également l'installer localement, également si vous êtes un "shop d'un homme" avec cette configuration (Microsoft le répertorie en réalité comme une configuration acceptable pour une installation client.) Je l'ai sur mon ordinateur portable pour mon travail de POC - avoir défini UP un plan de maintenance nocturne et déplacer ma sauvegarde sur Dropbox. Fonctionne très bien pour la tranquillité d'esprit. ; -)


0 commentaires

30
votes

Ayant travaillé avec TFS, Git, Subversion, CV et VSS, permettez-moi de résumer rapidement mon expérience:

  • Il est juste de dire que le système Visual SourceSafe (VSS) et les versions simultanées (CVS) sont à peu près obsolètes de nos jours.
  • Git est techniquement l'outil le plus puissant, mais nécessite un certain temps pour comprendre les concepts. Il ne joue également la plupart de ses avantages que si vous optez vraiment pour une approche SCM . Le nombre de logiciels tiers supportant GIT augmente rapidement, mais n'est pas encore aussi omniprésent que pour SVN.
  • Subversion (SVN) propose des concepts propres et faciles à comprendre avec une approche assez commune et générique. Une vaste quantité de logiciel d'intégration pour la plupart des IDES et des gestionnaires de fichiers, ainsi que de nombreux logiciels d'extension sont disponibles. En raison de l'utilisation de protocoles standards comme HTTP et WebDAV, il intègre également un logiciel qui n'a pas été réellement conçu pour fonctionner avec SVN, tels que Microsoft Office ( « Windows dossiers Web ») et plus. SVN serait ma recommandation si vous planifiez une approche SCM plus traditionnelle et centralisée.
  • La commande de version TFS est étroitement intégrée à la gamme de produits Microsofts "Visual Studio" et au reste de la plate-forme de cycle de vie du développement TFS. Pour une utilisation en dehors de Visual Studio, il y a un certain nombre d'outils et une interface de ligne de commande, mais il n'a vraiment pas de sens d'utiliser TFS sans Visual Studio, croyez-moi. le contrôle de version TFS est techniquement une des pires que j'ai jamais travaillé. Les raisons:
    • Il faut vérifier explicite de chaque fichier avec lequel vous travaillez. Le même être de fichier vérifié par plus d'une personne en même temps des moyens de TFS voit un conflit, peu importe si ces personnes ont changé quoi que ce soit.
    • TFS utilise un concept "Espace de travail", où les actions de votre copie de travail sont enregistrées sur le serveur pendant que vous travaillez. Vous ne pouvez pas simplement vérifier plusieurs copies de l'arborescence source sur plusieurs dossiers, vous devez avoir une connexion en ligne constante sur le serveur (il existe un mode «hors ligne», mais qui gâchent les choses). Toutes les modifications apportées à n'importe quoi dans la copie de travail locale doivent d'abord passer à TFS Client Tools, car les fichiers sont téléchargés comme en lecture seule.
    • Le fait que TFS montre plus de conflits dans l'interface utilisateur de l'interface utilisateur de l'interface utilisateur de l'interface utilisateur de l'interfaction de l'UI, qui n'engage en réalité que les utilisateurs d'accepter de vrac-accepter ou de rejeter des modifications de rejet en vrac, ce qui entraîne une perte de changements d'une manière ou d'une autre. Il obstrue donc votre vision de ce qui est en réalité important, ce qui est une chose dangereuse pour un système de contrôle de version.
    • L'intégration de l'UI dans VS ne prend pas en charge de nombreuses opérations utiles dont vous avez besoin lorsque vous travaillez avec un système SCM au sérieux, comme Atomic (Server uniquement) de la création de branches, de la ramification des révisions antérieures, de l'hypélice, de la revérisation des changements d'une modification donnée. et beaucoup plus.
    • Il est horriblement lent, parce que la création d'une branche implique le téléchargement d'une nouvelle copie entière de l'arbre source se fait via l'interface graphique VS. Une simple renommée d'un dossier est également vraiment lente. Dans l'ensemble, il semble créer beaucoup de trafic réseau pour des opérations simples.
    • La construction dans « étagères » fonctionnalité, vous pouvez enregistrer loin vos modifications en cours sans les vérifier dans, est une idée agréable mais très bien inutile dans la plupart des scénarios, car il ne prend pas en charge la résolution des conflits ou la fusion lorsque vous RE- appliquer vos modifications mises à l'écart à votre copie de travail. Si la création de succursales était aussi simple, fiable, rapide et directe selon E.g. dans SVN, vous ne seriez pas vraiment besoin d'une telle fonctionnalité, puisque chaque développeur peut créer leurs propres succursales pour gérer cette exigence.
    • Dans notre environnement, un certain nombre de bogues ont été modifiés dans le contrôle de la version TFS où des fichiers qui avaient été modifiés lorsqu'ils n'ont pas été enregistrés en tant que tels, et dans quelques cas, des fichiers ont été retournés à une version antérieure sans préavis. Cela ne devrait vraiment pas arriver dans un système de contrôle de la version!

3 commentaires

3 ans ont passé. Mais comme je lisais ce post aujourd'hui, croyez-moi qu'il est vrai. Bon travail @MirkoklemMmm


Merci pour la mise à jour Talha.


7 ans ont passé. Mais comme je lisais ce post aujourd'hui, croyez-moi qu'il est vrai. TFS est le pire contrôle de la version que j'ai jamais travaillé. Il lance la productivité, le conflit stupide résolu (juste un caractère supplémentaire de l'espace et c'est un conflit) et beaucoup plus de situations "étranges" qui m'ont mis dans. Peu importe ce que l'équipe de marketing Microsoft vous dit, restez à l'écart. Aller avec git.