Cos-e-il-repository-svn

Cos-e-il-repository-svn

Cos-e-il repository-svn? Se cercavate una risposta a questa domanda, molto probabilmente siete sviluppatori.

Oppure vi state approcciando al mondo della programmazione.

Si, perchè oggi utilizzare un “repository” è una questione non solo normale ma necessaria.

Cos-e-il repository-svn Un “repository” viene tradotto letterlamente come “deposito” o “ripostiglio”.

A livello tecnico lo si può considerare un ambiente di un sistema informativo fatto di sottosistemi. Il repository viene impiegato per modificare e salvare le singole strutture dati di un software. I singoli sottosistemi possono essere relativamente indipendenti in quanto interagiscono solo con il “repository”.

Si parla in questi casi di “versionamento”. Facciamo riferimento ai progetti di sviluppo software in cui il repository è lo strumento per gestire e salvare il codice sorgente e la documentazione tecnica.

In particolare si può gestire le diverse “release” ovvero le versioni del software.

Attraverso un sistema di versionamento gli sviluppatori possono quindi lavorare nello stesso tempo ad un progetto comune. Con il repository il team di sviluppatori “salva” il codice nel sistema che garantisce un’ottima gestione del lavoro complessivo.  Il repository è utile per controllare errori e risolvere bug. E’ utilizzato per “passare” il codice ad un collega.

Nelle attività di un repository si effettua un merge. Il merge è l’azione con cui si va ad unire i sorgenti di codice con le nuove modifiche.

Il caricamento delle modifiche locali sul repository (server) è chiamato “commit”.

Ogni commit andato a buon fine genera una nuova versione della revisione che aumeterà di una cifra partendo da zero.

Esistono repository centralizzati o a sistemi distribuiti.

Nei repository centralizzati il livello di “sicurezza” è più basso. Infatti può accadere che se due sviluppatori stanno modificando contemporaneamente lo stesso file, in mancanza di una gestione degli accessi, si corre il rischio di sovrascrivere o perdere le modifiche effettuate in quel momento.

Il blocco dei file e le utenze di accesso nei repository centralizzati evita conflitti di merge. Tuttavia se gli sviluppatori scavalcano il controllo di versione e modificano i file localmente si può incappare in problemi più seri.

I repository distribuiti permettono più modifiche simultanee.

Gli obiettivi di un sistema di repository sono:

  • tenere traccia di chi sta modificando e che cosa
  • “merge” delle modifiche (unione)
  • controllo eventuali conflitti
  • salvare una copia della precedente versione

 

SVN (Versione Control System) permette di gestire sorgenti con diversi linguaggi di programmazione. SVN è chiamato più comunmente “Subversion” (Apache Subversion).

Cos-e-il-repository-svn Qualunque server Subversion può ospitare sia sorgenti di linguaggi diversi ma anche documenti normali come guide, articoli o file musicali.

Il repository SVN non è un semplice strumento di archiviazione. Si tratta di uno strumento più ampio di gestione del lavoro degli sviluppatori poichè traccia le modifiche nel tempo individuando l’autore.

Subversion si basa sul concetto di copy-modify-merge. I file non vengono bloccati dal primo sviluppatore che lo apre.

Dando quasi per scontato che gli sviluppatori lavorino su parti diverse dello stesso file, si permette di operare contemporaneamente. Tuttavia al momento della “commit”, si attivano dei controlli di verifica sulle modifiche per rilevare eventuali conflitti. Se ne trova, Subersion avverte immediatamente lo sviluppatore e attiva e offre una serie di strumenti per risolverli.

Come possiamo facilmente immaginare, senza uno strumento di repositori come SVN Subervsion, il lavoro in team sarebbe molto difficile.

Un’altro strumento di versionamente che si sta diffondendo con un’ottima community è GIT.

Innovaformazione, scuola informatica specialistica, promuove la cultura dell’information technology.

Potete visionare l’offerta formativa per sviluppatori dal nostro sito www.innovaformazione.net .

 

Per leggere altri articoli sull’ambito sviluppo software e mobile potete visionare questo LINK del nostro blog.

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati