Perforce (commercial / source fermée, centralisé) est la norme de l'industrie pour un certain nombre de raisons.
- C'est un produit commercial, ce qui signifie qu'il vient avec un support commercial. Les projets open source peuvent être éligibles pour une licence libre (sans le support technique).
- Il prend très bien en charge les espaces de travail , ce qui permet une présentation très flexible des répertoires de sources et d’actifs.
- Il supporte très bien les listes de modifications .
- Vous pouvez voir qui travaille sur quoi. Les jeux contiennent un nombre anormalement élevé de fichiers binaires (ressources) évoluant rapidement par rapport aux autres projets de développement. La plupart du temps, ils ne peuvent pas être fusionnés. Il est donc essentiel de savoir qui a quoi / où / quand. Les clients Subversion et DSCC évitent intentionnellement cette technique, mais elle est très bénéfique dans certaines applications.
- Il supporte des bases de code / actifs gigantesques . Il ne stocke pas les données en double sur les ordinateurs clients, ce qui est important lorsque votre sous-vue de l’arbre contient quelques dizaines de concerts.
Cela dit, il est douloureusement évident, presque quotidiennement, que Perforce ne pense pas que sa position dans le secteur soit menacée. Leurs outils visuels, notamment P4V et P4SCC (intégration à Visual Studio), sont lents et bogués, ce dernier étant connu pour geler Visual Studio pour le plus grand plaisir de celui-ci. AnkhSVN est en avance sur Perforce.
Commentaire de xan: Il est à noter cependant que leur outil de fusion, P4Merge (utilisé pour différencier et fusionner), est excellent et bien supérieur aux goûts de Tortoise Merge. Étonnamment, ce composant est disponible gratuitement dans le package P4 Visual Tools.
Commentaire de slicedlime: Un autre inconvénient de Perforce est qu’il est très pénible de se ramifier, en particulier si vous avez de grands arbres. Presque tous les autres vcs sont meilleurs pour créer des branches et fusionner. C'est généralement un petit prix à payer pour les avantages ci-dessus cependant.
Commentaire de roe: Perforce est extrêmement bavard. Il n'y a pas grand chose à faire sans le serveur impliqué. Plus particulièrement, vous avez besoin du serveur pour pouvoir ouvrir pour éditer, ce qui signifie que vous devez sauter quelques étapes si vous souhaitez interrompre la connexion au serveur.
Commentaire de jrista: En tant qu’utilisateur quotidien de Perforce depuis plus de deux ans, avec une équipe de développement et d’ingénierie de qualité de plus de 100 personnes, je le connais très bien. Bien que ce soit un système de contrôle de source décent, il présente des inconvénients que les évaluateurs de systèmes SCC devraient connaître:
- Comme mentionné par d'autres, la création de branches / l'intégration est particulièrement lourde et difficile à faire. Vous avez un degré de contrôle impie, mais au prix d'une complexité excessive. D'un autre côté, l'outil de fusion visuelle est unique en son genre et présente une belle vue de fusion basée sur trois fichiers de votre travail. Perforce fournit certaines visualisations graphiques des chemins de branches (appelé graphe de révision), mais la manière dont il est visualisé rend souvent l'outil plutôt inutile. Si vous avez seulement besoin de voir un très petit segment de temps pour un ou plusieurs fichiers, cela peut être utile ... rien de plus, et il est presque impossible de naviguer dans le graphe de révision.
- Perforce n’est pas non plus un outil très efficace, car presque toutes les opérations sur un fichier nécessitent la duplication de fichiers et de données: création de branches, étiquetage, listes de modifications, etc. Si vous n’avez pas peur d’utiliser une quantité considérable d’espace disque pour suivre vos modifications, vous serez sans doute bien servi. Sinon, je chercherais un autre outil.
- Perforce utilise les espaces de travail, mais ceux-ci peuvent parfois être frustrants, car ils mettent en cache tous les états de votre espace de travail, plutôt que d'utiliser les fichiers réels sur le disque pour déterminer un état. Cela a souvent pour conséquence que les fichiers ne sont pas synchronisés car votre espace de travail indique qu'ils sont à jour, alors que, pour une raison quelconque, les fichiers physiques sur le disque NE SONT PAS à jour.
- Un dernier ennui, Perforce est plutôt brutal sur votre réseau. C'est un programme extrêmement bavard qui consomme une quantité considérable de bande passante. Toute perte de connectivité réseau et vous courez un risque élevé de ne pouvoir effectuer aucun travail avec vos fichiers contrôlés par la source jusqu'à ce que la connectivité soit restaurée. À ce jour, je n’ai pas découvert d’activité pouvant être réalisée hors ligne dans Perforce.