Perforce (commerciale / a codice chiuso, centralizzato) è lo standard del settore per una serie di motivi.
- È un prodotto commerciale, il che significa che viene fornito con supporto commerciale. I progetti open source possono avere diritto a una licenza gratuita (meno il supporto tecnico).
- Supporta molto bene le aree di lavoro , il che consente layout di directory di risorse e risorse molto flessibili.
- Supporta molto bene le liste dei cambiamenti .
- Puoi vedere chi sta lavorando su cosa. I giochi hanno un numero anormalmente elevato di file binari (risorse) che cambiano rapidamente rispetto ad altri progetti di sviluppo. Il più delle volte non sono unificabili, quindi tenere traccia di chi ha cosa / dove / quando è fondamentale. I client Subversion e DSCC evitano intenzionalmente questa tecnica, ma è abbastanza vantaggioso in alcune applicazioni.
- Supporta gigantesche basi di codice / asset. Essa non memorizza i dati duplicati sulle macchine client, che è importante quando il sub-vista l'albero è un paio di dozzine di concerti.
Detto questo, è dolorosamente ovvio su base quasi quotidiana che Perforce non ritiene che la loro posizione nel settore sia minacciata. I loro strumenti visivi, tra cui P4V e P4SCC (si integrano con Visual Studio) sono lenti e buggy, con quest'ultimo noto per congelare Visual Studio per il puro divertimento di esso. AnkhSVN è molto più avanti di Perforce.
Commento di xan: Vale la pena notare, tuttavia, che il loro strumento di unione, P4Merge (usato per diffondere e fondere) è eccellente e di gran lunga superiore a artisti del calibro di Tortoise Merge. Sorprendentemente, questo componente è disponibile gratuitamente come parte del pacchetto P4 Visual Tools.
Commento di slicedlime: Un altro svantaggio di Perforce è che ramificarsi in esso tende ad essere un dolore enorme, specialmente se si hanno alberi di grandi dimensioni. Quasi tutti gli altri vcs sono più adatti alle ramificazioni e alle fusioni. Questo è di solito un piccolo prezzo da pagare per i vantaggi di cui sopra.
Commento di Roe: Perforce è estremamente loquace. Non c'è molto da fare senza il server coinvolto. In particolare, è necessario il server per poter aprire-per-modificare, il che significa che è necessario saltare alcuni cerchi se si intende interrompere la connessione al server.
Commento di jrista: Come utente quotidiano di Perforce da oltre due anni, con un esteso team di sviluppo e ingegneria di qualità di oltre 100 persone, ho acquisito familiarità con esso. Pur essendo un discreto sistema di controllo del codice sorgente, ha i suoi svantaggi che coloro che valutano i sistemi SCC dovrebbero essere a conoscenza di:
- Come menzionato da altri, la ramificazione / integrazione è particolarmente ingombrante e difficile da fare. Hai una quantità empia di controllo, ma ha un costo di eccessiva complessità. Il rovescio della medaglia, lo strumento di unione visiva è unico nel suo genere e presenta una splendida vista di unione "basata" su tre file del tuo lavoro. Perforce fornisce alcune visualizzazioni grafiche dei percorsi di diramazione (chiamato grafico di revisione), tuttavia il modo in cui viene visualizzato spesso rende lo strumento piuttosto inutile. Se hai solo bisogno di vedere un piccolo intervallo di tempo per uno o pochissimi file, può essere utile ... qualcosa di più ed è quasi impossibile navigare nel Grafico delle Revisioni.
- Perforce non è inoltre uno strumento molto efficiente, poiché quasi tutte le operazioni sui file richiedono la duplicazione di file e dati: diramazione, etichettatura, elenchi di modifiche, ecc. Nessun tag o ramificazione sparsa o leggera qui. Se non hai paura di usare un'enorme quantità di spazio su disco per tracciare le tue modifiche, probabilmente la soluzione sarà utile. In caso contrario, vorrei cercare un altro strumento.
- Perforce utilizza le aree di lavoro, tuttavia a volte queste possono essere frustranti, poiché la cache forzata memorizza tutti gli stati nell'area di lavoro, anziché utilizzare i file effettivi sul disco per determinare un certo stato. Ciò comporta spesso la mancata sincronizzazione dei file perché l'area di lavoro afferma che sono aggiornati, quando, per qualsiasi motivo, i file fisici su disco NON sono effettivamente aggiornati.
- Un ultimo fastidio, Perforce è piuttosto brutale sulla tua rete. È un programma estremamente loquace e consuma una notevole quantità di larghezza di banda. Qualsiasi perdita di connettività di rete e si corre il rischio elevato di non essere in grado di eseguire alcun lavoro con i file controllati dal codice sorgente fino al ripristino della connettività. Al momento, non ho scoperto un'attività che può essere eseguita off-line in Perforce.