Notre boutique de développement utilise actuellement Visual SourceSafe. Nous savons tous comment cela pourrait finir (mal), donc nous étudions d'autres systèmes. La première est Perforce. Est-ce que quelqu'un a de l'expérience avec son utilisation et son intégration dans Visual Studio (2003/2005/2008)? Est-il aussi bon que n'importe quel autre, ou est-il assez solide avec de bonnes caractéristiques, comparativement?Perforce dans un Microsoft Shop
Répondre
J'ai utilisé Perforce lors de mes 3 dernières tâches (mon travail actuel consiste à utiliser Subversion, ce que je n'aime pas presque autant.) Je suis un grand fan de Perforce, et en passant de SourceSafe, il semblera Nirvana. Obtenir un checkin atomique sera un gros coup de pouce pour votre entreprise. Sinon, Perforce est rapide, il a de bons outils, et le workflow est simple pour faire des choses comme des fusions et des intégrations. Je le recommande vivement. Ce n'est peut-être pas tout nouveau et tape-à-l'œil comme les derniers VCS distribués, mais honnêtement, je préfère le modèle client/serveur pour sa rapidité, surtout si vous travaillez avec des gens dans d'autres pays qui ont des connexions lentes.
L'intégration de Visual Studio est plutôt bonne, mais elle pose quelques problèmes gênants. Si vous exécutez un autre client Perforce en même temps (comme P4V), il est très difficile de synchroniser les modifications de l'autre client en termes d'affichage des fichiers actuellement entrés/sortants. Vous devez généralement fermer Visual Studio et charger à nouveau le projet si vous voulez le synchroniser correctement. Mais, le statut de synchronisation n'affecte pas réellement checkins/checkouts/mises à jour de fonctionner correctement, cela signifie simplement que vous pouvez être dupé à penser que quelque chose est dans un état différent de ce qu'il est réellement pendant que vous êtes dans Visual Studio. Les clients Perforce afficheront toujours le bon état car ils se synchronisent continuellement avec la base de données. De plus, vous aurez parfois besoin de travailler "hors connexion" (non connecté à la base de données Perforce pour une raison quelconque) et lorsque vous rechargerez le projet la prochaine fois, vos liaisons Perforce pourraient être perdues et vous '' Nous devrons relier chaque projet individuellement. Si vous travaillez avec une solution qui contient de nombreux projets, cela peut être très pénible dans le patoot. Il en va de même lorsque vous vérifiez une solution pour la première fois, la liaison à Perforce est nécessaire avant l'intégration.
J'ai l'expérience d'utiliser un dérivé de Perforce.
Il semblait difficile à gérer du point de vue de l'administrateur, mais il était bon d'utiliser du point de vue du programmeur.
Encore une fois, je suis grand sur le contrôle de version de la ligne de commande, donc je ne peux pas parler d'intégration VS.
Je n'ai pas utilisé Perforce, mais j'ai trouvé que passer à Team Foundation Server était l'une des meilleures options pour travailler avec Visual Studio.
Perforce fonctionne très bien avec Visual Studio, y compris le mode "hors ligne" où VS rendra vos fichiers locaux accessibles en écriture et synchronisés avec le serveur plus tard. J'ai tendance à utiliser l'interface graphique de Perforce pour de nombreuses opérations (soumets, diffs) simplement parce qu'elle est plus rapide/meilleure, mais le processus de vérification de l'EDI est transparent. Par contre, selon mon expérience, c'est un produit solide comme le roc et le meilleur produit de contrôle de version mixte (code + données) si leur coût n'est pas un facteur. Mon plus gros reproche est que les performances du serveur sous Windows sont loin d'être aussi bonnes que sous Nix, et si vous utilisez un serveur * nix ils ne supportent pas officiellement l'option pour les noms de fichiers insensibles à la casse (ce qui signifie soit vous renoncez au support relatif aux erreurs du système de fichiers, soit vous configurez un trigger qui empêche les gens d'ajouter foo.cpp si Foo.cpp existe).Mon autre plainte principale est que pour certaines opérations courantes, vous devez revenir à la ligne de commande, souvent des fonctions de tuyauterie ensemble. Un exemple serait d'obtenir une liste de fichiers dans un répertoire qui ne sont pas sous le contrôle de la source.
Ces deux problèmes sont davantage liés à l'entreprise qu'au produit. IMO Perforce sait qu'ils sont au sommet du marché et ne voient donc aucune raison d'investir dans des solutions de ce genre.
Nous avons utilisé Perforce pendant plus d'un an avant de passer à SVN récemment. Bien que j'aie aimé les outils (par exemple, diff visuel et fusion et les bits d'administration), nous avons eu des problèmes vraiment fastidieux avec la liaison, comme le mentionne Chris; sinon, l'intégration VS est satisfaisante. Si quelque chose, je trouve le travail avec SVN plus facile et plus intuitif que Perforce. TortoiseSVN (l'extension shell de Windows Explorer) est super, et nous avons acheté quelques licences VisualSVN pour l'intégration de VS. Contrairement à Perforce, VisualSVN ne fonctionne pas avec l'interface MS SCC, mais plutôt directement avec le client SVN, ce que je considère personnellement comme un avantage. Perforce prend en charge de nombreux autres systèmes d'exploitation, mais nos développeurs non-Windows se sentent plus à l'aise avec SVN. Si je devais choisir à nouveau, je resterais avec SVN.
Sourcegear Vault est le meilleur SCM pour la migration des utilisateurs VSS vers.
Et c'est bon marché.
J'ai utilisé personnellement et géré un certain nombre d'équipes pendant quelques années qui ont fait Perforce & Visual Studio. Cela fonctionne parfaitement bien. Il peut y avoir quelques getchas de reliure/reliure, mais ceux-ci sont généralement faciles à trier - Perforce knowledgebase et/ou la liste de diffusion est une bonne source d'informations.
Vous n'avez jamais eu de problème avec l'utilisation de la ligne de commande, des clients visuels et de VS IDe simultanément - l'actualisation fonctionne normalement correctement.
Nous utilisons intensément perforce dans l'entreprise, y compris la ramification pour les très grands projets, le développement sur Sun Solaris et Windows, et plus de 120 utilisateurs.
Il est très rapide, et l'interface graphique Windows (P4V) est très agréable. L'intégration Explorer est acceptable. J'ai désactivé l'intégration de VS, et j'utilise des macros (appelant par exemple p4 edit
) pour éditer/revert/diff les fichiers. L'intégration de VS est extrêmement ennuyante pour les grands projets (notre solution compte plus de 130 projets), mais peut fonctionner pour des projets plus petits.
Il est difficile d'appeler 900 $ par utilisateur une bonne fonctionnalité.