Jump to: navigation, search

Uso SVN

Revision as of 14:15, 8 April 2013 by 155.253.20.73 (Talk)

Un sistema di controllo di versione (version control system) è una combinazione di tecnologie e procedure per tenere traccia e controllare i cambiamenti dei file di un progetto, in particolare del codice sorgente, della documentazione e delle pagine web.

Viene usato prevalentemente nello sviluppo di progetti ingegneristici o informatici per gestire la continua evoluzione dei documenti digitali come il codice sorgente del software, i disegni tecnici, la documentazione testuale e altre informazioni importanti su cui può lavorare una squadra di persone.

I programmi di versioning sono software che funzionano secondo un'architettura client/server: il server è un repository centralizzato, in cui chiunque può mettere o prendere le risorse tramite il client. Le modifiche concorrenti (la modifica simultanea di un documento) vengono gestite dal server, che conserva lo storico, il nome degli autori e i loro commenti, effettuando una numerazione progressiva del documento.

Esistono numerosi software che permettono il versioning. SP7 ha scelto di utilizzare Subversion (SVN), un software di versioning open source gratuito.

L’accesso al repository (server) di SP7 è possibile dall’indirizzo http://sp7.irea.cnr.it/svn/, attraverso inserimento di credenziali. Le credenziali consentono ai partecipati di SP7 e ad eventuali utenti esterni di fruire del materiale contenuto nel repository con permessi di lettura e scrittura differenziati. La struttura del repository è qui di seguito rappresentata.

xxx.xxx

Tale struttura iniziali potrà subire ampliamenti e modifiche, per adattarsi alle esigenze che nasceranno nel corso del lavoro di SP7.

Informazioni specifiche per l’utilizzo di Subversion si trovano in molti siti. Si segnala in particolare il libro dedicato Version Control with Subversion La scelta del client indispensabile per l’iterazione con il repository è invece personale, e dipende, tra le altre cose, dal sistema operativo attivo sulla macchina su cui si lavora. Di seguito si riporta un elenco dei più diffusi client di versioning.

  • Kdesvn è un client GUI per Linux.
  • RapidSVN è un client GUI per Microsoft Windows o Linux, scritto in C++ usando il framework wxWidgets.
  • eSvn è un client basato su Qt.
  • JSVN è un client basato su Java Swing.
  • TortoiseSVN è un'estensione della shell di Microsoft Windows.
  • [www.rabbitvcs.org/ RabbitVCS] è un'estensione della shell di Linux.
  • svnX è un client GUI per Mac OS X.
  • Versions è un nuovo client per Mac OS X, dotato di un'interfaccia coerente con il Sistema Operativo Apple.

Si riporta anche un glossario pratico dei principali meccanismi di funzionamento di un programma di versioning