CVS o SVN?

Martedì 20 Dicembre 2005 - 14:33

di Gabriele Farina

PHP e Open Source

Grazie a sourceforge.net ho imparato ad apprezzare ed a utilizzare CVSper la gestione dei mei progetti. Ora posso dirmi abbastanza al sicuro da inconvenienti dovuti allo sviluppo in cooperazione con altri programmatori e posso gestire i miei progetti sulla maggior parte dei sistemi operativi che utilizzo.

Da qualche settimana però sto prendendo in considerazione anche SVN, un’alternativa molto valida a CVS che fornisce alcune feature aggiuntive molto interessanti tra cui:

  • Viene mantenuta la storia delle operazioni su directory, di rinomino delle risorse e modifica dei metadati associati ai file;
  • Il deposito dei file viene effettuato realmente solamente dopo che tutta la nuova versione è stata caricata correttamente;
  • Grazie al supporto per WebDAV possiamo appoggiarci ad un server HTTP come Apache per la gestione dei progetti;

Personalmente non ho ancora effettuato il passaggio dato che voglio acquisire padronanza del sistema prima di decidere definitivamente che strada prendere. Qualche parere in proposito ?

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

SVN tutta la vita, lo usiamo in ufficio da un annetto ed è a dir poco eccezionale

# - postato da Giemme - 20 Dicembre 2005 - 15:04

2

SVN è uno spettacolo!

createvi un account gratuitamente: http://opensvn.csie.org/
ne vale la pena

# - postato da franceso - 20 Dicembre 2005 - 15:06

3

grabié … io ti posso semplicemente dire che SVN non solo è NETTAMENTE superiore rispetto a CVS sia a livello di funzionalità, sia a livello di performance, sia a livello di facilità d’utilizzo ma è anche banalissimo da installare!

Ad esempio il CVS ha un gran problema con i file binari: gli si deve specificare che i file binary non devono essere salvati cosi come sono senza provare a creare patch o altro … l’svn fa tutto in auto

inoltre può usare sia il BDB (Berckley DB) sia il Filesystem per la gestione degli archivi!

Un’altra cosa fantastica, e secondo me molto furba, è la gestione delle revisioni complessiva: con il CVS ogni file ha la sua versione, con l’svn è una revisione complessiva dell’intero progetto ed in questo modo quando fai un’aggiornamento del codice ad una revisione precedente hai uno shot completo di quello che c’era prima, e non è una cosa tanto fattibile col CVS

insomma … le differenze ci sono e sono anche notevoli :)

# - postato da daniele_dll - 20 Dicembre 2005 - 15:21

4

dipende, se sei un duro e puro della command line il passaggio è indolore, anche i comandi sono molto simili.
se invece utilizzi qualche strumento specifico, magari integrato in un ambiente di sviluppo o altro, assicurati con qualche prova che il supporto subversion sia disponibile (anche tramite plugin) e all’altezza di quello per cvs, che per motivi “storici” in genere è il default

# - postato da magomarcelo - 20 Dicembre 2005 - 17:33

5

beh …

ti dirò che subversion ha il FANTASTICO client chiamato tortoisesvn … che decisamente è MOLTO potente!

e non è soltanto integrato con la shell ti da anche un browser per repository remoti oltre a tutto quello che è di standard (patch, diff, reverse, update, commit, merge, e un’altra marea di roba)

Addirittura ti fa anche le statistiche delle revisioni, del numero di commit, del numero di sviluppatori ecc ecc ecc

:)

# - postato da daniele_dll - 20 Dicembre 2005 - 18:48

6

SVN senza dubbio, i vantaggi maggiori per me sono:
1. sintassi dei comandi abbastanza simile a CVS
2. gestisce il controllo di versione anche sulle directory, sul rename e sui metadati
3. il commit è realmente atomico
4. si integra con Apache
5. usa Berkeley DB
6. gestisce in maniera migliore i file binari
7. possibilità di eseguire dei comandi offline (status, diff, revert)

L’unica cosa che in subversion cambia un po’ rispetto a CVS è la gestione delle branch e dei tag, ma ci si abitua in fretta!

# - postato da Luca Zappa - 21 Dicembre 2005 - 09:50

7

Scusate la mia voce fuori dal coro, ma non sono d’accordo nell’essere NETTAMENTE contento di SVN rispetto a CVS (mi riferisco specialmente a daniele_dll).
Mi spiego meglio:
1) che con i file binari sia tutto rosa e fiori non è vero. Ho avuto molti attimi di panico a causa di commit “anomali” per i file .jar
2) il fatto che sia più performante non penso si noti ad occhio nudo, anche se il fatto di usare BerkeleyDB è indubbiamente un vantaggio. Tuttavia, sfatiamo un mito: il FileSystem di CVS non è come il babau
3) che con CVS non si riesca veramente a fare uno shot del progetto non è assolutamente vero. I checkout con data/ora sono sempre esistiti, per non parlare dei tag
4) i tag di CVS sono veramente dei tag (etichette), mentre i tag SVN sono repliche vere e proprie dell’alberatura. Avere la possibilità di evolvere un tag mi sembra una cosa assurda
5) esiste anche TortoiseCVS, non solo TortoiseSVN, ed è bello anche lui

Personalmente ho usato sia CVS che SVN in diversi progetti. Li reputo semplicemente due alternative validissime per sopperire al bisogno di versioning.

Saluti! XD

# - postato da Davide Ratti - 24 Dicembre 2008 - 11:37

8

IO NON SO USARE NE SVN ED CVS TANATO E LA MIA IGNORANZA IN INFORMATICA

# - postato da NICOLA BRACCINI - 12 Ottobre 2010 - 17:38

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento