it-swarm.com.de

Welche Vorteile bietet die Verwendung von Perforce?

Mein Team verwendet SVN seit einigen Jahren. Wir haben jetzt die Möglichkeit, zu Perforce zu wechseln.

Was wären die Vorteile (und Fallstricke) eines solchen Wechsels?

65
Ferruccio
  • P4 verfolgt Ihre Arbeitskopie auf dem Server. Das bedeutet, dass
    1. Große Arbeitskopien werden viel schneller verarbeitet. Früher hatte ich ein großes SVN-Projekt, und ein einfaches Update dauerte 15 Minuten, da ein Baum der lokalen Arbeitskopie (Tausende von Ordnern) erstellt werden musste. Der Dateizugriff ist langsam. P4 speichert die Informationen über die Arbeitskopie in der Datenbank, sodass alle Vorgänge fast sofort ausgeführt wurden.
    2. Wenn Sie mit Ihren Dateien herumspielen und dem Server nichts mitteilen, sind Sie in Schwierigkeiten! Sie können nicht nur eine Datei löschen - Sie müssen eine Datei mit dem P4-Client löschen, damit der Server dies weiß. Wenn Sie eine Datei lokal löschen, wird sie bei aufeinander folgenden Aktualisierungen nicht erneut heruntergeladen, da der Server denkt, dass Sie sie bereits haben! Wenn viel passiert ist und ich total aus der Synchronisation geraten bin, musste ich normalerweise meine lokale Kopie löschen und erneut herunterladen, was sehr zeitaufwändig sein kann. Sie müssen darauf achten.
  • Der Explorer Shell-Erweiterungsclient (think TortoiseSVN) ist fehlerhaft und völlig unbrauchbar.
  • Es gibt zwei GUI-Client-Anwendungen, die die besten Funktionen bieten: P4Win und P4V, von denen P4V neuer und benutzerfreundlicher ist, aber nicht so viele Funktionen bietet.
  • Es gibt Visual Studio- und Eclipse-Plug-Ins, die relativ gut funktionieren, obwohl sie nicht viele erweiterte Funktionen haben.
  • Im Allgemeinen bietet P4 viel weniger Funktionen als SVN und ist manchmal geradezu verwirrend.
  • Die Definitionen der Arbeitskopien waren nett und flexibel. Ich glaube, P4 ist SVN hier überlegen: Sie können Masken für Arbeitskopieordner definieren und alle Arten von bizarren Bäumen erstellen, sodass Sie nur das herunterladen, was Sie genau dort möchten, wo Sie möchten, ohne manuell mit mehreren Kassen fummeln zu müssen. Dies war sehr praktisch, als ich Gigabyte an Material auf dem Server hatte und nur eine bestimmte Teilmenge davon haben wollte. Ich habe SVN in einer ähnlichen Situation mit viel mehr Aufwand verwendet.
  • Verzweigung unter P4 ist ... seltsam. Branchsets und verschiedene Arten von Zweigen und verwirrende Benutzeroberfläche. Ich kann mich leider nicht an viele Details erinnern.

Davon abgesehen ist es ziemlich normal.

Ich empfehle Ihnen, SVN beizubehalten, es sei denn, Sie beschäftigen sich mit großen Codebasen oder hassen die .svn-Ordner, die Ihr Dateisystem verunreinigen. SVN + TortoiseSVN ist für die meisten Situationen weitaus komfortabler.

49
Sander

Ich verwende derzeit beides für verschiedene Projekte.

  • Der Perforationsverzweigungsmechanismus ist überlegen.
  • Das Tool zum Beheben von Konflikten ist besser.
  • Ich mag die starke Vorstellung von Perforce von einer Änderungsliste.
  • Perforce scheint schneller zu sein.
  • Es ist einfacher einzurichten und loszulegen.
  • Einige unserer Mitglieder mögen das MS Office-Plugin wirklich sehr gut. Ich bin auf einem Mac und kann es daher nicht verwenden.

Aber

  • Die SVN-Clients sind besser, vor allem das Eclipse-Plugin.
  • Perforce ist teurer.

Dies sind nur Meinungen, vielleicht ist das eine schlechte Antwort :) 

Wenn ich das eine oder das andere bereits verwendet hätte, wäre ich sehr schwer zu wechseln, da keine der beiden Vorteile wirklich bedeutende Vorteile bietet, aber die Unterbrechung beim Umschalten könnte groß sein.

Update: Seit ich das geschrieben habe, habe ich komplett auf GIT für private und kommerzielle Zwecke umgestellt. Ich würde es jeden Tag über SVN oder Perforce entscheiden.

43
Marc Hughes

Hat Ihr Team Git bewertet? Es verfügt über analoge Funktionen wie Perforce, ist jedoch kostenlos (FOSS).

Beides ist eine großartige Alternative zu SVN, wenn Sie mit einem großen Team arbeiten.

14

Auf der Perforce-Website gibt es ein Papier, in dem die beiden verglichen werden: P4 vs SVN

Natürlich muss man angesichts der Quelle erkennen, dass es die Vorteile von Perforce gegenüber SVN betont, aber es ist immer noch eine nützliche Lektüre. Man kann nie wissen, dass einer der Vorteile der Mördergegenstand sein kann, von dem Ihr Team unter den gegebenen Umständen profitieren könnte. 

Ich würde Perforce sicherlich aus einer Reihe von Gründen empfehlen, die bereits in anderen Antworten behandelt wurden, aber ich bin nicht in der Lage, einen Vergleich mit SVN anzubieten, der es nie wirklich verwendet hat. 

6
Greg Whitfield

Ich benutze zwangsweise bei der Arbeit, svn zu Hause.

Die grafische Benutzeroberfläche ist ziemlich nett, aber erst wenn man sich daran gewöhnt hat. Es hat definitiv eine Lernkurve, wenn Nicht-Programmierer mit Perforce beginnen, dauert es normalerweise einige Zeit, bis sie die Konzepte erhalten. 

Schildkröte ist großartig, es ist sehr einfach zu bedienen. Meine Anwaltfrau subversions alle ihre Dokumente damit;)

Die Verzweigung ist in der Regel einfach. In der Tat so einfach, dass die Leute aus nicht allzu vielen Gründen verzweigen. Dann integrieren Sie, weil Sie verzweigt sind. Es kann ganz leicht das einzige sein, was Sie tun.

Svn ist in mehr Produkten integriert. Zumindest mehr Produkte, die ich benutze. Dies ist ein großer Vorteil, denn wenn Sie eithere außerhalb Ihrer Entwicklungsumgebung verwenden müssen, werden beide unbeholfen.

Ab und zu haben wir Probleme mit der Performance, wenn Ihre lokalen Kopien auf dem neuesten Stand sind, aber nicht. Dann müssen Sie die Synchronisierung erzwingen. Wenn es dann immer noch nicht gut ist, löschen Sie Ihre lokalen Dateien und resync. Ich hatte noch nie solche Probleme mit SVN. Dies ist tatsächlich ein großes Problem, da Sie nicht einmal wissen, dass Sie an einer alten Kopie arbeiten.

Darüber hinaus sollten Sie darüber nachdenken, warum Sie sich ändern möchten. Wenn Sie ein funktionierendes System haben und alle damit vertraut sind und zufrieden damit sind, warum sollten Sie es ersetzen?

6
lajos

Ordnungsgemäße Verzweigung und Verzweigung in den Namespace sind die größten Vorteile, die ich in Perforce sehe. Das Zusammenführen ist einfach. Ich sehe keinen Nachteil darin, mich von Subversion zu entfernen.

4
janm

Sie können Dinge offline in Perforce bearbeiten, wenn Sie möchten. Ihr Worksapce definiert, ob Dateien schreibgeschützt oder schreibbar sind. Sie können sie also alle schreibbar machen, sich hacken und dann Perforce fragen, was Sie einchecken müssen.

Besser ist, dass Sie Dateien lesen und prüfen, was Sie brauchen, damit andere (und Sie selbst) wissen, was Sie getan haben/tun.

Das für Sie bessere System hängt von Ihren Anforderungen ab. Wenn Sie keine Anforderungen haben, gewinnt Perforce.

Wer verwendet Subversion? Kleine nichtkommerzielle Teams Günstige oder kleine Handelsmannschaften

Wer verwendet Perforce? Google Sony Samsung nVidia Symantec

2
Tommy Allen

Ich habe SVN nicht oft verwendet, nur um es auszuprobieren. Ich habe Perforce ungefähr drei Jahre lang benutzt. Ich fand es großartig. Der Kundenservice war brillant, sehr schnell, um ein Problem zu lösen, das sich als Irrer herausstellte, und er implementierte sogar eine von mir vorgeschlagene Funktion.

Einige andere Entwickler und vor allem Nicht-Entwickler, die es verwenden mussten, fanden es etwas schwierig zu lernen, vor allem wenn es darum ging, eine Client-Spezifikation zu definieren (eine Zuordnung von Ordnern auf dem Server zu lokalen Ordnern).

Ich habe festgestellt, dass es sehr schnell ist, Dateien ein- und auszuspielen und sehr zuverlässig zu sein. Ich glaube, die meisten Entwickler, mit denen ich zusammengearbeitet habe, mochten es wirklich, nachdem wir uns daran gewöhnt hatten. Wir haben Visual Source Safe verwendet, bevor wir gewechselt haben, also ist fast alles besser als das.

Nachteile, kostet Geld. Ich glaube, dass SVN ein sehr gutes System ist, da SVN kostenlos ist. Ich denke, Sie müssten einen zwingenden Grund haben, um zu wechseln, zumal Perforce eine Weile zum Lernen braucht. Wenn SVN die Arbeit für Sie erledigt und Sie keine Beschwerden darüber haben, würde ich vorschlagen, dass Sie dabei bleiben und das Geld für einen regnerischen Tag sparen!

2
Scott Langham

Ich habe beide verwendet, und meiner Erfahrung nach macht Perforce sehr viel Sinn, wenn Sie ein großes Team und/oder eine Codebase haben. Ansonsten würde ich SVN wählen - es ist einfacher einzurichten und zu warten.

2

In den letzten Versionen hat Perforce eine neue Funktion für shelving Änderungen :

"Shelving" ist der Vorgang des vorübergehenden Speicherns der laufenden Arbeiten auf einem Perforce-Server, ohne eine Änderungsliste einzureichen. Eine Ablage ist nützlich, wenn Sie mehrere Entwicklungsaufgaben (z. B. Unterbrechungen durch Arbeiten mit höherer Priorität, Testen über mehrere Plattformen) für denselben Dateisatz ausführen oder Dateien zur Überprüfung des Codes freigeben müssen, bevor Sie Ihre Arbeit für das Depot festlegen.

Dies ist vergleichbar mit dem Verzweigungsmodell von git, mit dem Sie mühelos von einem lokalen Zweig zu einem anderen wechseln können, wenn Sie Multitasking benötigen.

AFAIK, Subversion hat keine ähnliche Funktion.

Weitere Informationen im Perforce-Blog .

2
matt b

Perforce erlaubt es dem Server, den Client zu besitzen.

Ein Perforce-Server kann beliebige Dateien auf dem Client lesen und schreiben und somit beliebigen Code ausführen. Die Perforce-Konfiguration ist ausschließlich serverseitig, sodass der Server die gesamte Festplatte des Client-Computers einfach als Repository behandeln kann was immer es wollte.

Führen Sie niemals Perforce außer in einer SELinux-Sandbox aus.

Denken Sie daran: Der Perforce-Client ist die Marionette des Servers. Sie müssen die Sicherheitsfunktionen des Betriebssystems verwenden, um zu verhindern, dass etwas ausgeführt wird, das Sie nicht möchten. Behandeln Sie den Perforce-Client IMMER als feindlich.

2
Demi

Meiner Meinung nach ist reason # 1 für die Auswahl zwischen SVN und Perforce cost.

Small Repositorys: SVN erledigt seine Arbeit ganz gut und kostenlos.

Big Repositories: Es ist fatal, SVN zu verwenden: http://yoawsconsult.blogspot.com/2009/05/whenwhy-you-cant-afford-to-use.html .Perforce kann große Repositorys erstellen, aber Sie müssen dafür bezahlen und es kennenlernen.

1
user574894

Die Lizenzierung von Perforce sinkt, da sich die Anzahl der Sitze erhöht, wie ich mich erinnere. Es sind also nicht genau 900 Dollar pro Sitzplatz. Es ist auch eine Server-basierte Lizenz. Sie zahlen für die Gesamtzahl der Entwickler, die sie verwenden, nicht pro Client, der sie verwendet. Wenn Sie also ein Geschäft mit 200 Personen sind, können Sie mit der 200-Sitzplatz-Lizenz alle von Haus aus nutzen.

1
Epu

Aus meiner Praxis:

  • Perforce wurde entwickelt, um auch große Blob-Dateien (wie Software-Distributionen) zu speichern. Svn speichert alle seine Daten als Text. Es ist unmöglich, solche binären Daten effektiv in SVN zu speichern

  • Perforce unterstützt nützliche Dinge wie "Änderungen im Regal". Der Benutzer hat die Perforce gebeten, die Änderungen wie einen "Patch" im Perforce-Server zu speichern. Ein anderer Benutzer kann dann die Änderungen überprüfen, wenn er vom Autor dazu aufgefordert wird. Svn unterstützt es nicht

  • Das Befehlszeilenformat von Svn ist einfacher zu verstehen und zu merken und für den täglichen Gebrauch

  • Svn ist frei

  • In "git" und in "svn" bearbeiten Sie Änderungen direkt über das Bearbeiten von Dateien im lokalen Dateisystem, nachdem Sie Dateien von Repo erhalten haben. In der richtigen "richtigen" Art und Weise, mit Dateien zu arbeiten, müssen Sie sie markieren, damit Sie mit ihnen arbeiten können (p4 edit). Theoretisch werden andere Leute zur Verfügung stehen, um sie anzusehen. In der Praxis ist das nicht angenehm

  • Die Vorbereitung des Perforce-Client-Arbeitsbereichs in Ihrem lokalen System erfordert aufgrund der zusätzlichen Konfiguration, die durchgeführt werden muss, mehr Zeit als die Verwendung von svn

1
bruziuz

Es ist sehr angenehm, alles nur vom Exlorer aus über TortoiseSVN erledigen zu können. Da ist sogar eine P4-Erweiterung installiert. Aber es ist wirklich nicht so raffiniert!

Auf der anderen Seite bietet der P4-Client eine zugängliche Sicht auf das Server-Repository, sodass Sie ohne vollständige Überprüfung arbeiten können. Dies war in SVN-Tagen nur mit TSVN ein wenig umständlich.

Mit diesen Worten kann ich die Top-Poster-Kommentare nicht verstehen:

  • Der Explorer Shell-Erweiterungsclient (denke TortoiseSVN) ist scheiße und ist völlig unbrauchbar.

Für FOSS ist TortoiseSVN einfach großartig! (Auch wenn das Icon-Ding auf jeder Maschine ein bisschen zickig und anders funktionierte.)

mit TortoiseSVN können Sie:

  • kann Funktionen neu anordnen
    • zum Beispiel 'Get Lock ..' nach vorne bringen
  • habe tatsächlich Zugriff auf ALLE Funktionen vom Explorer
  • haben Symbole im Shell-Menü
  • werden über Updates informiert
0
ewerybody

ein Nachteil von Perforce gegenüber der Subversion ist der Exportbefehl in SVN. Es ist einfacher, den Code einer Version an einen beliebigen Ort zu exportieren oder herunterzuladen. Sie müssen dafür keinen Arbeitsbereich erstellen. In der Tat können Sie den Code für die Version nur in Ihrem Arbeitsbereich speichern.

0
shreyas_patel21