65 votes

Quels sont les avantages d'utiliser Perforce au lieu de Subversion ?

Mon équipe utilise SVN depuis quelques années. Nous avons maintenant la possibilité de passer à Perforce.

Quels seraient les avantages (et les inconvénients) d'un tel changement ?

49voto

Sander Points 9804
  • P4 garde la trace de votre copie de travail sur le serveur. Cela signifie que
    1. Les grandes copies de travail sont traitées beaucoup plus rapidement. J'avais un gros projet SVN et une simple mise à jour prenait 15 minutes parce qu'il fallait créer un arbre de la copie de travail locale (des milliers de dossiers). L'accès aux fichiers est lent. P4 stocke les informations sur la copie de travail dans la base de données, de sorte que toutes les opérations sont toujours quasi instantanées.
    2. Si vous manipulez vos fichiers sans en informer le serveur, vous aurez des problèmes ! Vous ne pouvez pas simplement supprimer un fichier - vous devez supprimer un fichier avec le client P4 pour que le serveur le sache. Notez que si vous supprimez un fichier localement, il ne sera pas téléchargé à nouveau lors des mises à jour successives car le serveur pense que vous l'avez déjà ! Lorsque cela se produisait et que je me retrouvais complètement désynchronisé, je devais généralement nettoyer ma copie locale et la télécharger à nouveau, ce qui pouvait prendre beaucoup de temps. Vous doit Faites attention à ça.
  • Le client d'extension shell d'Explorer (pensez à TortoiseSVN) craint et est complètement inutilisable.
  • Il existe deux applications client GUI qui offrent la meilleure fonctionnalité : P4Win et P4V, dont P4V est plus récent et plus facile à utiliser, mais moins riche en fonctionnalités.
  • Il existe des plug-ins Visual Studio et Eclipse, qui fonctionnent relativement bien, bien qu'ils ne disposent pas de nombreuses fonctionnalités avancées.
  • De manière générale, P4 offre beaucoup moins de fonctionnalités que SVN et est parfois carrément déroutant.
  • Les définitions de la copie de travail étaient agréables et flexibles. Je pense que P4 est supérieur à SVN sur ce point : vous pouvez définir des masques pour les dossiers de copie de travail et créer toutes sortes d'arbres bizarres, de sorte que vous ne téléchargez que ce que vous voulez, exactement là où vous le voulez, sans avoir à gérer manuellement de multiples extractions. Cela s'est avéré très pratique lorsque j'avais des gigaoctets de documents sur le serveur et que je ne voulais qu'un sous-ensemble spécifique de ceux-ci. J'ai utilisé SVN dans une situation similaire avec beaucoup plus de difficultés.
  • Les branches sous P4 sont... bizarres. Branchsets et différents types de branches et une interface utilisateur confuse. Je ne me souviens pas de beaucoup de détails à ce sujet, malheureusement.

A part ça, c'est assez standard.

Je vous recommande de garder SVN à moins que vous ne traitiez d'énormes bases de code ou que vous détestiez les dossiers .svn qui jonchent votre système de fichiers. SVN+TortoiseSVN est bien plus confortable dans la plupart des situations.

43voto

Marc Hughes Points 3794

J'utilise actuellement les deux sur différents projets.

  • Le mécanisme de branchement de perforce est supérieur.
  • L'outil de résolution des conflits de perforce est meilleur.
  • J'aime beaucoup la notion forte de liste de changements de Perforce.
  • Perforce semble plus rapide.
  • C'est plus facile à mettre en place et à faire fonctionner.
  • Certains de nos membres aiment vraiment le plugin MS Office pour perforce, je suis sur un Mac donc je ne peux pas l'utiliser.

Mais

  • Les clients SVN sont meilleurs, en particulier le plugin eclipse.
  • Perforce est plus cher.

Ce ne sont que des opinions, alors peut-être est-ce une mauvaise réponse :)

Si j'utilisais déjà l'un ou l'autre, j'aurais beaucoup de mal à en changer, car aucun des deux ne semble offrir d'avantages vraiment significatifs par rapport à l'autre, mais le changement pourrait être très perturbant.

Mise à jour : Depuis que j'ai écrit cet article, je suis complètement passé à l'utilisation de GIT à des fins personnelles et commerciales. Je le préférerais à SVN ou Perforce n'importe quand.

14voto

Douglas F Shearer Points 10422

Votre équipe a-t-elle évalué Git ? Il possède des fonctionnalités analogues à celles de Perforce, mais il est gratuit (FOSS).

L'un ou l'autre est une excellente alternative à SVN lorsque l'on travaille avec une grande équipe.

6voto

lajos Points 13791

J'utilise perforce au travail, svn à la maison.

L'interface graphique de perforce est assez agréable, mais seulement une fois que vous vous y êtes habitué. Il y a définitivement une courbe d'apprentissage, lorsque des non programmeurs commencent à utiliser perforce, cela prend généralement un certain temps avant qu'ils ne comprennent les concepts.

Tortoise est génial, c'est très facile à utiliser. Ma femme avocate subvertit tous ses documents en l'utilisant ;)

Le branchement est facile dans perforce. En fait si facile, que les gens se branchent sans trop de raison. Puis vous intégrez parce que vous avez ramifié. Cela peut très facilement devenir la seule chose que vous faites.

Svn est intégré dans plus de produits. Du moins dans les produits que j'utilise. C'est un grand avantage, car si vous devez utiliser l'un ou l'autre en dehors de votre environnement de développement, ils deviennent tous deux encombrants.

De temps en temps, nous avons des problèmes avec perforce qui pense que vos copies locales sont à jour, mais elles ne le sont pas. Vous devez alors forcer la synchronisation, puis, si ce n'est toujours pas le cas, supprimer vos fichiers locaux et resynchroniser. Je n'ai jamais eu de tels problèmes avec svn. C'est en fait un énorme problème car vous ne savez même pas que vous travaillez sur une ancienne copie.

Une autre chose à laquelle il faut penser est la raison pour laquelle vous voulez changer. Si vous avez un système qui fonctionne et que tout le monde le connaît et en est satisfait, pourquoi le remplacer ?

6voto

Greg Whitfield Points 3651

Sur le site web de Perforce, il y a un document qui compare les deux : P4 vs SVN

Évidemment, étant donné la source, vous devez réaliser qu'il souligne les avantages de Perforce par rapport à SVN, mais c'est toujours une lecture utile. On ne sait jamais, l'un des avantages pourrait bien être l'élément clé dont votre équipe pourrait bénéficier, compte tenu de votre situation particulière.

Je recommanderais certainement Perforce pour un certain nombre de raisons déjà abordées dans d'autres réponses, mais je ne suis pas en mesure d'offrir une comparaison avec SVN, ne l'ayant jamais vraiment utilisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X