Ma qual è quindi la soluzione migliore? Una risposta generica non esiste. Dipende da quale sistema di controllo di gestione si adatta meglio ai vostri scopi. Entrambi i sistemi si differenziano nella struttura e nel processo che ne deriva. La seguente tabella riassume le differenze principali:
| SVN | Git |
---|
Controllo di versione | centrale | distribuito |
Repository | Repository centrale in cui vengono create le copie di lavoro | Copie locali del repository su cui poter lavorare |
Permesso di accesso | Basato sul percorso | Per tutta la directory |
Visualizzazione delle modifiche | Registra i file | Registra i contenuti |
Cronologia delle modifiche | Completa solo nel repository, le copie di lavoro contengono solo la versione più recente | Repository e copie di lavoro contengono la cronologia completa |
Connessione di rete | Ad ogni accesso | Necessaria solo per la sincronizzazione |
Ecco invece i rispettivi vantaggi di entrambi i sistemi:
Dovreste preferire Git se…
- …non volete essere sempre connessi per poter lavorare ovunque al vostro progetto.
- …volete sentirvi sicuri nel caso di un guasto o di una perdita di dati del repository centrale.
- …non avete bisogno di un permesso di scrittura e di lettura per directory speciali (tuttavia queste possono essere impostate su un percorso più complesso anche con Git).
- …date maggiore importanza a una trasmissione veloce delle modifiche.
Subversion è la scelta migliore se…
- …avete bisogno di autorizzazioni d’accesso basate sul percorso per ambiti diversi del vostro progetto.
- …volete legare tutto il vostro lavoro a un luogo centrale.
- …lavorate con molti file binari.
- …volete registrare completamente le strutture delle directory vuote (Git le elimina, poiché non hanno alcun contenuto).
Se le caratteristiche elencate non rivestono un‘importanza decisiva per voi, si consiglia un test di entrambi i sistemi di controllo di versione. In entrambi i casi sono garantiti un valido supporto da parte di una grande community, un provider affidabile come GitHub e offerte di supporto professionali.