2010-05-04 12 views
19

Ho appena cambiato lavoro. Il mio precedente datore di lavoro utilizza Subversion, il mio nuovo datore di lavoro utilizza Perforce.Perforce per un utente di Subversion?

Ci sono risorse là fuori che mi aiuteranno, come utente , a cambiare il mio modello mentale da uno di Subversion a uno di Perforce? Quali sono gli analoghi ai comuni comandi SVN? Quali concetti sono implementati in modo diverso?

Non sono particolarmente interessato ai pro e ai contro di Perforce vs Subversion - la decisione è stata presa. Ci sono molte altre domande su S.O. coprendolo. Mi piacerebbe sapere quale riadattamento mentale dovrò fare (o meno).

risposta

6

Perforce e Subversion sono abbastanza simili, entrambi dispongono di commit atomico di gruppi di file e di diramazioni basate sul percorso.

Perforce ha:

a) gruppi di modifiche in sospeso - si possono raggruppare i file che si sta modificando in gruppi e manipolare i gruppi.

b) Specifiche client: è possibile associare il repository al proprio spazio di lavoro locale in schemi piuttosto complicati.

c) Nessun esterno: non è possibile mappare la stessa parte del repository in più posizioni nello spazio di lavoro o mappare altri repository in sub-dirs nello spazio di lavoro.

d) Unisci tracciamento, che è una nuova funzionalità di Subversion.

e) Connessioni server forti: è necessario comunicare al server prima di modificare un file e il server utilizza queste informazioni per mantenere una buona idea dello stato dell'area di lavoro locale, che rende gli aggiornamenti più rapidi.

4

Alcune cose vengono in mente (ho usato perforce quattro anni fa - le cose potrebbero essere cambiate).

  • blocco - Perforazione richiede un blocco sui file su cui si sta lavorando. Subversion no.
  • changelist - i changelists sono fondamentali per lavorare con forza. Ogni commit è di un changelist. Sono meno importanti in sovversione.

This blog post può aiutarti a effettuare la transizione.

+1

Per quanto riguarda la chiusura: Perforce perlomeno dovrebbe richiedono di ottenere un blocco sui file che si sta lavorando. Tuttavia, richiede che tu comunichi al server che stai lavorando sui file (diversamente da Subversion, da quello che ricordo). –

+0

@ Caleb Huitt - cjhuitt - Non sono un mago con Perforce, ma da quello che ho visto, credo che Perforce blocchi qualsiasi file locale che non hai controllato. Questa è la più grande differenza tra Perforce e Subversion e, a mio parere, il più grande mal di testa nel fare il passaggio. Tuttavia, non blocca * il server *. Più utenti possono controllare lo stesso file e Perforce tenterà di unirli. – rtperson

+3

Fare attenzione alla terminologia: Perforce rende il file di sola lettura. Questo non è il "blocco", che è una funzionalità diversa per i sistemi di controllo del codice sorgente, ad es. puoi contrassegnare i file in Perforce che devono essere bloccati prima di essere modificati. E SourceSafe (credo) richiede di bloccare tutti i file prima di modificarli. –

2

Anche se non è la presentazione più recente, si dispone ancora di un array di funzioni utili (in Perforce e SVN) in this document.

Può essere utile leggere Perforce Branch Naming and Repository Structure Guidelines, poiché la sua struttura è simile a quella in SVN: Perforce utilizza la struttura del repository per rappresentare i rami e altre strutture di directory.

1

Ho appena fatto scorrere l'altra direzione. Il mio precedente datore di lavoro utilizzava Perforce (server Linux, client Mac & di Windows), il mio nuovo datore di lavoro sta passando a SVN. Ecco cosa ho incontrato:

  • Non mi manca la ramificazione di Perforce. Questo avrebbe potuto essere l'ambiente però.
  • È necessario bloccare! Ma almeno puoi configurare più blocchi e check-in.
  • I odiato "riga di comando" di Perforce, ci si può abituare, ma non è mai stato semplice.

Non sono ancora un fan di Perforce, quindi ymmv. Soprattutto abituati a utilizzare le interfacce utente fornite, bloccandole come richiesto dal tuo datore di lavoro, e fai attenzione a quali modifiche stai lavorando (molto facile da nascondere nelle liste dei cambiamenti).

0

Perforce è SOOOO molto più veloce di SVN perché tutti i check-out sono archiviati sul server in modo che non debba controllare tutti i file su un aggiornamento. SVN funziona molto meglio quando disconnesso dalla rete - con Perforce devi dire al server quando hai fatto un checkout. La sua interfaccia grafica di Windows è davvero buona. La riga di comando non è facile come SVN. Google lo usa!

1

Ora sto imparando anche Perforce, e quello che sarebbe utile per me è una guida di comandi P4 che sono in qualche modo equivalenti ai comandi SVN. Inizierò (qualcuno più abile è il benvenuto per espandere/modificare questa risposta):

svn commit  ... p4 submit 
svn update  ... p4 sync 
... 
+3

Ecco un documento ufficiale di Perforce con i comandi SVN <-> P4: http://kb.perforce.com/article/301/mapping-subversion-terms-and-commands-to-perforce – Janek

Problemi correlati