Eh bella domanda! La risposta è …. dipende da cosa si deve fare!
Uso da SVN da diverso tempo (provengo da CVS.. paura!) e sempre più spesso mi imbatto in GIT.
Ho anche provato ad utilizzarlo e posso garantirvi che l’approccio più sbagliato in assoluto è quello di replicare il modo di lavorare di SVN con GIT.
Sono due cose completamente diverse : GIT e controllo di sorgente realmente distribuito mentre CVS è controllo di sorgente client/server. (punto).

Le differenze

Il checkout di un progetto SVN consiste nello scaricare i sorgenti del progetto e consente di sviluppare a proprio piacimento con la principale limitazione che la sincronizzazione con il repository del progetto richiede l’accesso al server che lo ospita.
Viceversa il checkout di un progetto GIT porta con se l’intero repository. Questo si traduce nella possibilità di poter sviluppare e sincronizzare il sorgenti con il repository anche
in assenza di connessione con il server che ospita il progetto o in genere senza necessità di una connessione internet.

Tralasciando la parte meramente tecnica (GIT è migliore da questo punto di vista) quello che ci interessa è il lato puramente pratico. Se dovete lavorare su un progetto condiviso nel quale sono impegnati diversi sviluppatori, magari residenti a grandi distanze e probabilmente fusi orari diversi (chi ha detto progetto open source?) sicuramente la scelta più ovvia è GIT: maggior indipendenza e versatilità.
Viceversa in contesti più ridotti, con un solo sviluppatore o piccoli team, (il tipico progetto closed source, ma non solo!) conviene sicuramente SVN in quanto più semplice da comprendere ed usare.

In condizioni neutre invece è mio opinione che sia l’esperienza pregressa dell’uno o dell’altro sistema che costituisce valido motivo per effettuare una scelta.
Comunque nulla vi vieta di usare una determinato sistema a prescindere dal tipo di progetto: ad esempio GIT funziona benissimo anche in locale per gestire piccoli progetti personali viceversa SVN è usatissimo (o meglio era) anche con progetti open source (ricordate sourceforge.net?).

Sicuramente conoscere e sapere utilizzare entrambi i sistemi è cosa buona per ogni sviluppatore, considerate che professionalmente conoscere GIT sta diventato un requisito importante 😉

SVN o GIT?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *