Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il controllo di versione

Cos'è il controllo di versione. Presentazione di Subversion
Cos'è il controllo di versione. Presentazione di Subversion
Link copiato negli appunti

Il controllo di versione è una tecnologia che ogni buon programmatore dovrebbe utilizzare. L'obiettivo fondamentale di tutti i software che si occupano del controllo di versione è permettere a diversi sviluppatori di lavorare contemporaneamente su diversi file o addirittura sullo stesso file, automatizzando compiti come:

  • tenere traccia di chi sta modificando che cosa
  • unire le modifiche una volta complete
  • segnalare eventuali conflitti
  • tenere una copia di ogni precedente versione e fare in modo che sia facilmente recuperabile

Ci sono numerosi buoni motivi per cui questo sistema dovrebbe essere usato, anche dal singolo programmatore: il risparmio di tempo e di grattacapi durante le operazioni di salvataggio, di recupero di versioni precedenti, o di confronto tra diverse versioni, rende questo strumento prezioso per chiunque. Se poi i programmatori sono due o più e lavorano sullo stesso progetto, allora diventa imprescindibile.

Simone Carletti in uno dei suoi post elenca alcuni dei vantaggi dell'uso di SVN.

Tra i più famosi software di controllo di versione disponibili in ambiente open source ci sono CVS(Concurrent Version System), il suo erede Subversion, e il più recente GIT (sviluppato da Linus Torvalds). In questa guida ci focalizzeremo sull'installazione, configurazione e utilizzo di Subversion.

Subversion

Subversion (comunemente abbreviato in SVN), è un software gratuito e opensource. Anche se l'utilizzo prevalente di Subversion è da parte dei programmatori, la struttura e le caratteristiche lo rendono utile anche per gestire file di tipo diverso, ad esempio documentazione, manuali, e persino file binari (immagini).

Subversion nasce attorno al 2000 come alternativa a CVS, nel frattempo diventato obsoleto. Il suo intento dichiarato è risolvere i bug e i difetti intrinsechi di CVS, mantenendone però lo spirito e i concetti di base.

Rispetto a CVS, Subversion introduce:

  • versionamento delle directories: con CVS il controllo di versione era applicato solo ai file, quindi le operazioni di copia e spostamento tra diverse directory non era gestito adeguatamente. Con Subversion viene tenuta traccia anche del contenuto di ogni singola directory e quindi lo spostamento di un file è a tutti gli effetti considerata una modifica, quindi rintracciabile e reversibile.

  • commits atomici: una serie di modifiche viene applicata solo in blocco – se anche solo una di esse crea errori, non viene applicata nessuna delle modifiche inviate. Questo evita la creazione di versioni incomplete che dovrebbero poi essere corrette a mano.

  • versionamento dei metadati: è possibile assegnare a file e directory delle proprietà personalizzate – dei veri e propri metadati – e mantenere lo storico anche delle modifiche a queste proprietà.

  • astrazione dal livello di rete: l'accesso dal client al repository (cioè al deposito centralizzato dei files) può avvenire attraverso il protocollo HTTP (sfruttando un apposito modulo di Apache), attraverso un apposito server standalone (SVNServe), o direttamente attraverso il filesystem (ma solo nel caso in cui il repository sia situato sulla stessa macchina). In tutti questi casi, i comandi e le operazioni fondamentali non cambiano, così come non cambia la struttura del repository e delle copie di lavoro locali.

Nonostante nel frattempo siano nati altri strumenti, con concetti e soluzioni innovative, Subversion si sta tenendo aggiornato e sembra reggere la competizione. In questa guida utilizziamo la versione 1.5.

Ti consigliamo anche