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 pièges) d'un tel changement?

65
demandé sur jfm3 2008-10-01 16:52:46

17 réponses

  • 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 l'habitude d'avoir un grand 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 au fichier est lente. P4 stocke les informations sur la copie de travail dans la base de données, les opérations ont toujours été quasi instantané.
    2. si vous gâchez autour avec vos fichiers et ne dites pas le serveur, vous êtes en difficulté! Vous ne pouvez pas simplement supprimer un fichier - vous devez supprimer un fichier avec le client P4 pour que le serveur sache. Notez que si vous supprimez un fichier localement, il ne sera pas téléchargé à nouveau lors de mises à jour successives car le serveur pense que vous l'avez déjà! Quand beaucoup de cela s'est produit et que je me suis retrouvé complètement désynchronisé, j'ai dû recourir à nettoyer ma copie locale et la télécharger à nouveau, ce qui pouvait prendre beaucoup de temps. Vous doit faites attention.
  • le client Explorer shell extension (think TortoiseSVN) suce et est complètement inutilisable.
  • il existe deux applications client GUI qui offrent les meilleures fonctionnalités: P4Win et P4V, dont P4V est plus récente et plus facile à utiliser, mais pas aussi riche en fonctionnalités.
  • Il ya Visual Studio et Eclipse plug-ins, qui fonctionnent relativement bien, bien qu'ils ne pas beaucoup de fonctionnalités avancées.
  • en général, 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 jolies et souples. Je crois que P4 est supérieur à SVN ici: vous pouvez définir des masques pour les dossiers de copie de travail et créer toutes sortes d'arbres bizarres, donc vous téléchargez seulement ce que vous voulez exactement où vous voulez, sans avoir à futz manuellement avec plusieurs checkouts. C'est venu très pratique quand j'avais des gigaoctets de trucs sur le serveur et que je ne voulais qu'un sous-ensemble spécifique. J'ai utilisé SVN dans une situation similaire avec beaucoup plus de tracas.
  • Ramification en vertu de la P4 est... bizarre. Branchsets et différents types de branches et de confusion UI. Je ne me souviens pas beaucoup de détails à ce sujet, malheureusement.

à part ça, c'est assez standard.

je vous recommande de garder SVN sauf si vous avez affaire à d'énormes codebases ou détester le .svn folders pollue votre système de fichiers. SVN+TortoiseSVN est beaucoup plus confortable pour la plupart des situations.

49
répondu Sander 2008-10-01 13:05:34

j'utilise actuellement les deux sur des projets différents.

  • le mécanisme de ramification perforce est supérieur.
  • l'outil de résolution de conflit perforce est meilleur.
  • j'aime vraiment la forte notion de changement de la part de perforce.
  • semble plus rapide.
  • C'est plus facile à configurer et à exécuter.
  • certains de nos membres aiment vraiment le plugin MS Office pour forcément, je suis sur Mac donc je ne peux pas l'utiliser.

Mais

  • les clients SVN sont meilleurs, surtout le plugin eclipse.
  • est forcément plus cher.

ce ne sont que des opinions, donc c'est peut-être une mauvaise réponse :)

si j'utilisais déjà l'un ou l'autre, je serais très pressé de changer car ni l'un ni l'autre ne semble offrir vraiment important avantages par rapport à l'autre, mais la perturbation de la commutation pourrait être grande.

mise à jour: depuis que j'ai écrit ceci, je suis complètement passé à l'utilisation de GIT à des fins personnelles et commerciales. Je choisirais SVN ou Perforce n'importe quel jour.

43
répondu Marc Hughes 2011-08-26 19:44:42

votre équipe a-t-elle évalué Git? Il possède des caractéristiques analogues à celles disponibles dans forced, mais il est libre (FOSS).

est une excellente alternative à SVN lorsqu'on travaille avec une grande équipe.

13
répondu Douglas F Shearer 2008-10-01 13:33:44

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

le GUI perforce est assez agréable, mais seulement une fois que vous vous y habituez. Il a certainement une courbe d'apprentissage, quand les non programmeurs commencent à utiliser perforce, cela prend généralement un certain temps jusqu'à ce qu'ils obtiennent les concepts.

tortue est impressionnant, il est très facile à utiliser. Mon avocat de l'épouse de subversions tous ses documents à l'aide ;)

brancher est facile dans forcement. En fait si facile, que les gens branche sans trop de raison. Alors vous intégrer, car vous ramifiée. Cela peut facilement devenir la seule chose que vous faites.

Svn est intégré dans plus de produits. Au moins plus de produits que j'utilise. C'est un grand avantage, parce que si vous devez utiliser l'un ou l'autre extérieur à votre environnement de développement, ils deviennent tous les deux clunky.

de temps en temps, nous avons des problèmes avec perforce qui pense que vos copies locales sont à jour, mais ce n'est pas le cas. Ensuite, vous devez forcer synce, puis si ce n'est toujours pas bon, supprimer vos fichiers locaux et resync. Jamais eu de tels problèmes avec svn. C'est effectivement un énorme problème que vous ne savez même pas que vous travaillez sur une ancienne copie.

une Autre chose à penser, c'est pourquoi vous voulez changer. Si vous avez un système qui fonctionne et que tout le monde en est familier et satisfait, pourquoi le remplacer?

5
répondu lajos 2008-10-01 15:11:48

sur le site Perforce ils ont un papier comparant les deux: P4 vs SVN

évidemment, compte tenu de la source, vous devez comprendre qu'il souligne les avantages de Perforce sur SVN, mais il est encore une lecture utile. Vous ne savez jamais, l'un des avantages peut très bien être l'élément tueur que votre équipe pourrait bénéficier de Compte tenu de vos propres circonstances uniques.

je recommanderais certainement par force pour un certain nombre de raisons figurent déjà dans d'autres réponses, mais je ne suis pas en mesure d'offrir une comparaison avec SVN n'ayant jamais vraiment utilisé.

5
répondu Greg Whitfield 2013-02-27 00:13:22

brancher correctement et faire des branches une partie de l'Espace-nom sont les plus grands avantages que je vois dans forcement. La fusion est facile. Je ne vois aucun inconvénient à s'éloigner de Subversion.

4
répondu janm 2008-10-01 13:01:14

vous pouvez éditer des choses hors ligne dans Perforce si vous voulez. Votre worksapce définit si les fichiers sont en lecture seule ou en écriture, de sorte que vous pouvez les rendre tous en écriture, les hacker et ensuite demander à Perforce de comprendre ce qui doit être vérifié.

il est préférable d'avoir des fichiers en lecture seule et de vérifier ce dont vous avez besoin pour que les autres (et vous-même) sachent ce que vous avez été/êtes en train de faire.

Le meilleur système pour vous dépend de vos besoins, si vous n'avez pas exigences alors Forcément gagne.

qui utilise Subversion? Petites équipes non commerciales Petites équipes commerciales ou bon marché

qui utilise Perforce? Google Sony Samsung NVIDIA Symantec

3
répondu 2008-10-30 11:39:10

j'ai utilisé SVN, pas beaucoup, juste pour l'essayer. J'ai utilisé Perforce pendant environ trois ans. J'ai pensé qu'il était grand. Le service à la clientèle a été génial, très rapide pour résoudre un problème que err s'est avéré être juste moi étant stupide, et ils ont même mis en œuvre une fonctionnalité que j'ai suggéré.

certains autres développeurs et en particulier non développeurs qui ont dû l'utiliser trouvé un peu difficile à apprendre à utiliser, surtout quand il s'agit de définir un client-spec (une carte des dossiers sur le serveur de dossiers locaux).

j'ai trouvé qu'il était très rapide d'entrer et de sortir des fichiers, et d'être très fiable. Je pense que la plupart des développeurs avec qui j'ai travaillé l'ont vraiment aimé une fois que nous nous y sommes habitués. Nous utilisions Visual Source Safe avant de changer, donc, à peu près tout est mieux que ça.

les inconvénients, ça coûte de l'argent. Je pense que SVN est un très bon système, comme SVN est libre, je pense que vous devriez avoir une raison impérieuse de changer surtout comme Perforce ne prendre un certain temps pour apprendre. Si SVN fait le travail pour vous, et que vous n'avez pas de plaintes à ce sujet, je vous suggère de rester avec, et économiser l'argent pour un jour de pluie!

2
répondu Scott Langham 2008-10-01 13:08:35

j'ai utilisé les deux, et dans mon expérience Perforce fait beaucoup de sens si vous avez une grande équipe et/ou codebase; sinon, je choisirais SVN - il est plus facile de mettre en place et de maintenir.

2
répondu Nemanja Trifunovic 2008-10-01 13:20:57

depuis les versions récentes, Perforce a une nouvelle fonctionnalité pour rayonnage modifications :

mise à l'écart est le processus de stocker temporairement les travaux en cours sur un Serveur Perforce sans présenter une liste de modifications. Le rayonnage est utile lorsque vous avez besoin d'effectuer plusieurs tâches de développement (telles que des interruptions de travail de priorité plus élevée, des tests sur plusieurs plateformes) sur le même ensemble de fichiers, ou partager des fichiers pour une révision du code avant d'engager votre travail au dépôt.

c'est analogue au modèle de branchement de git qui vous permet de passer sans effort d'une branche locale à une autre lorsque vous avez besoin de multitâches.

AFAIK, Subversion n'a pas de caractéristique similaire.

plus d'informations sur le blog Perforce .

2
répondu matt b 2010-04-09 15:02:24

Perforce de licence glisse vers le bas dans le coût que le nombre de sièges monte, que je me souviens. Donc ce n'est pas exactement 900 $par place. C'est aussi une licence basée sur le serveur; vous payez pour le nombre total de développeurs humains qui l'utilisent, pas par client machine qui l'utilise. Donc, si vous êtes un magasin de 200 personnes, la licence de 200 places vous permet d'utiliser tout forcement, même de la maison.

1
répondu Epu 2008-11-21 06:31:47

à mon avis raison#1 pour choisir entre SVN et Perforce est coût .

petits dépôts: SVN fait son travail très bien et gratuitement.

Gros référentiels: C'est fatal pour l'utilisation de SVN: http://yoawsconsult.blogspot.com/2009/05/whenwhy-you-cant-afford-to-use.html . Perforce peut faire de grands dépôts, mais vous avez payer pour cela et pour apprendre à le connaître.

1
répondu user574894 2011-01-13 21:39:18

Perforce permet au serveur de posséder le client.

un serveur Perforce peut lire et écrire des fichiers arbitraires sur le client, et donc exécuter du code arbitraire. la configuration de Perforce est entièrement côté serveur, de sorte que le serveur peut simplement traiter l'ensemble du disque dur de l'ordinateur du client comme un dépôt, et faire tout ce qu'il veut.

ne s'exécute jamais Parforce sauf dans un bac à sable SELinux.

rappelez-vous: le client Perforce est la marionnette du serveur. vous devez utiliser les caractéristiques de sécurité du système d'exploitation pour l'empêcher de faire quelque chose que vous ne voulez pas qu'il fasse. toujours traiter le client Perforce comme hostile.

1
répondu Demi 2014-12-20 05:29:52

de ma pratique:

  • Perforce conçu pour stocker aussi d'énormes fichiers blob (comme des distributions logicielles), svn stocke toutes ses données sous forme de texte. Il est impossible de stocker efficacement de telles données binaires dans svn

  • Perforce soutien utile de chose, comme "mettre en veilleuse les modifications". L'Utilisateur a demandé à perforce de stocker les modifications comme un "patch" dans le serveur perforce. Un autre utilisateur peut alors examiner les modifications si l'auteur le lui demande. Svn ne le supporte pas

  • Svn le format de la ligne de commande est plus facile à comprendre et à retenir et pour l'usage quotidien

  • Svn est libre

  • dans "git" et dans "svn", vous modifiez directement vos modifications via l'édition de fichiers dans le système de fichiers local après avoir reçu des fichiers de repo. Dans perforce "la bonne" façon de travailler avec des fichiers est marqué que vous allez travailler avec des them (P4 edit)....En théorie un autre gars sera disponible pour le voir, en pratique il n'est pas confortable

  • Perforce client espace de travail de préparer dans votre système local besoin de plus de temps alors svn en raison de configuration supplémentaire qui doit être fait

1
répondu bruziuz 2016-05-11 13:26:31

être capable de tout faire juste de l'exlorer via TortoiseSVN se sent très à l'aise! Donc il y a même une extension P4 installée. Mais ce n'est vraiment pas si sophistiqué!

d'un autre côté, le client P4 offre une vue accessible sur le dépôt du serveur de sorte que l'on peut travailler sans une caisse complète. Cela a toujours semblé un peu encombrant à L'époque de SVN avec TSVN seulement.

dire ceci Je ne peux pas comprendre le commentaire des affiches haut:

  • le client Explorer shell extension (think TortoiseSVN) craint et est complètement inutilisable.

Pour les logiciels libres TortoiseSVN est tout simplement génial! (Même si l'icône chose de travaillé un peu garce et différent sur chaque machine..)

avec TortoiseSVN vous:

  • peut réorganiser les fonctions
    • à apporter 'obtenir un verrou.."par exemple
  • ont effectivement accès à toutes les fonctions de l'Explorateur
  • ont des icônes dans le menu shell
  • sont informés des mises à jour
0
répondu ewerybody 2013-02-25 14:58:44

l'un des inconvénients de perforce par rapport à la sous-version est la commande d'exportation en svn. Il est plus facile d'exporter ou de télécharger le code d'une version de n'importe où. vous n'avez pas besoin de créer de l'espace de travail. Mais dans perforce vous pouvez obtenir le code version-ed dans votre espace de travail seulement.

0
répondu shreyas_patel21 2015-02-27 06:07:31

le principal avantage d'utiliser subversion over Perforce est à mon avis possibilité de modifier des choses hors ligne et simultanément avec vos collègues.

si l'infrastructure de données est vaguement liée (il y a du temps hors ligne), svn rocks. Vous pouvez faire beaucoup même si le serveur ne serait pas accessible. Perforce nécessite essentiellement une connexion serveur toujours disponible.

avertissement: mes informations sur Perforce est vieux, l'a utilisé pendant un certain temps en 2005-06 avant de passer entièrement à svn

-3
répondu akauppi 2008-10-01 13:40:15