MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
Domanda

Checkout, commit e update da un client Windows: guida operativa a TortoiseSVN

a cura di Zane
18/10/2011 - articolo
Software Applicativo - TortoiseSVN è un client open source che consente alle macchine Windows di dialogare con un server Subversion in tutta semplicità. Nel corso di questo articolo, vedremo come utilizzarlo per svolgere le funzioni di base del controllo di versione.

Nel corso dell'articolo "Guida: predisporre un server Subversion (SVN) su CentOS" abbiamo parlato del controllo di versione e degli enormi vantaggi che è possibile ottenere gestendo i propri progetti con questo strumento.

La preparazione del server è, chiaramente, solo una delle due componenti indispensabili: l'altra è l'utilizzo di un client, da installarsi sulle macchine "da lavoro", che possa dialogare con il sistema centrale per sottoporre il nuovo materiale e recuperare i file aggiornati.

Se lavorate sotto piattaforma Microsoft, una delle soluzioni migliori prende il nome di TortoiseSVN: si tratta di un pratico programma, rilasciato con licenza open source, che vi consente di interagire con un server Subversion direttamente dal menu contestuale di Windows Explorer

MLIShot_20110703190827.jpg

Vediamo come utilizzarlo.

Download, installazione e traduzione

Una volta aver scaricato il file dalla nostra scheda, apritelo per iniziare la procedura guidata.

La procedura di setup non presenta passaggi particolarmente significativi: limitatevi a premere ripetutamente Avanti, accettare la licenza d'uso, specificare il percorso desiderato se quello di default non vi soddisfa e riavviare il sistema quando richiesto.

Subito dopo, vorrete probabilmente localizzare l'interfaccia in italiano: per farlo, scaricate e lanciate il pacchetto con la nostra lingua che trovate qui e avanzate fra le due schermate. Cliccate quindi Start -> Tutti i programmi -> TortoiseSVN -> Settings per accedere al pannello di configurazione. Portatevi poi su General, scegliete italiano dal menu a tendina e confermate con OK per completare la predisposizione del software

MLIShot_20110703185433.jpg

Ora che il software è pronto, possiamo iniziare a lavorare.

Eseguire il checkout

Create una cartella in un un percorso a piacere: sarà quella adibita a contenere la copia di lavoro locale, sulla quale andrete effettivamente a ricevere, modificare, eliminare e creare i vari file di volta in volta.

Fatevi quindi click con il pulsante destro del mouse e selezionate la voce SVN Ritira... dal menu contestuale per eseguire il checkout, ovvero il primo download del materiale presente sul server.

Le varie opzioni proposte di default sono già ottimali per la maggior parte dei casi. Notate solamente che siete chiamati ad indicare nel campo URL del repository l'indirizzo completo al quale contattare il server

MLIShot_20110703185519.jpg

Questo è l'unico passaggio un pochino delicato: partendo dal presupposto che abbiate configurato il server così come proposto nella guida dedicata, l'URL in questione sarà composto da tre parti:

Se, ad esempio, il computer di riferimento è raggiungibile al nome dinamico serversvn.no-ip.org e il percorso scelto durante la preparazione era stato /repo/mioprogetto1, andrete ad immettere ora l'URL seguente:

svn://serversvn.no-ip.org//repo/mioprogetto1

Una volta completata questa fase, premete OK e, a meno di errori, sarete chiamati ad immettere nome utente e password per l'accesso al servizio (vi raccomando vivamente di non dimenticare di spuntare Salva l'autenticazione)

MLIShot_20110703190107.jpg

Attendete ora qualche istante et voilà: completato il checkout, avrete in locale la vostra copia di lavoro con l'ultima revisione dei file presenti nel repository

MLIShot_20110703190151.jpg

Lavorare in locale

Una volta completato il checkout, potete lavorare sulla copia locale come di consueto: modificare i file esistenti, crearne di nuovi e svolgere tutte le varie attività necessarie alla crescita del progetto.

Frattanto, notate come le icone sovraimposte cambino per informarvi in merito allo stato: una spunta verde significa che il documento è esattamente lo stesso presente nel repository, un punto esclamativo rosso indica che è stato modificato e così via.

Terminata la sessione di lavoro, caricate il frutto delle vostre fatiche nel repository tramite un "commit": fate click con il pulsante destro del mouse sulla directory-contenitore, selezionate SVN Invia...

MLIShot_20110703190332.jpg

Pochi istanti più tardi, avrete creato una nuova revisione con il materiale aggiornato.

Ottenere gli aggiornamenti

Affinché i vostri colleghi possano ricevere sui propri PC i file che avete caricato (e voi i loro) è necessario lanciare un "update": dal menu contestuale della cartella di lavoro, basta selezionare la voce SVN Aggiorna ed attendere.

Gestire i conflitti

Se due utenti lavorano allo stesso file prima di aver ricevuto le modifiche dell'altro, si verifica un "conflitto" non appena il secondo client tenti di caricare la propria versione

MLIShot_20110704125726.jpg

In molti casi, il sistema è in grado di sbrogliare automaticamente la matassa: lanciate un update e la copia del collega verrà fusa alla vostra. Ripetete quindi il commit per caricare il tutto ed il gioco è fatto.

In caso però l'algoritmo non riesca a svolgere il compito con l'assoluta certezza che il risultato finale sia corretto, sarete chiamati a procedere manualmente

MLIShot_20110704125901.jpg

In questa circostanza, vengono creati, all'interno della copia locale, alcuni file temporanei mentre l'oggetto del contendere è modificato con alcune indicazioni che dovrebbero facilitarvi il lavoro. Cliccatevi quindi con il pulsante destro del mouse e seguite TortoiseSVN -> Edita conflitti: vi ritroverete davanti ad una schermata nella quale il documento sulla sinistra indica la copia presente sul server, quello sulla destra il vostro

MLIShot_20110704130752.jpg

Lavorate sulla sezione inferiore, ovvero la nuova copia con le modifiche "fuse": cliccate su ogni riga nella quale è presente un punto esclamativo con il pulsante destro del mouse e decidete se mantenere le vostre variazioni, quelle presenti sul server o entrambi i segmenti, uno dopo l'altro.

Salvate tramite l'apposito comando presente nella barra degli strumenti, chiudete l'editor, cliccate sul file in questione da Windows Explorer con il pulsante destro del mouse, scegliete TortoiseSVN -> Risolto... e confermate: potrete così eseguire un commit come di consueto e la situazione sarà regolarizzata.

Ripristinare una vecchia copia

Se avete fatto danni o cancellato qualcosa di importante, niente paura: potete recuperare dal server una qualsiasi revisione precedente sia di singoli file, sia di intere cartelle. Dal menu contestuale dell'oggetto (o dal suo "contenitore", in caso stiate cercando di ripristinare qualcosa di cancellato), scegliete Aggiorna alla revisione... ed impiegate l'elenco raggiungibile cliccando Visualizza log per scegliere la versione desiderata

MLIShot_20110704131420.jpg

Confermate ed il gioco è fatto.

Notate però che non sarà immediatamente possibile procedere al committ delle nuove modifiche che apporterete all'oggetto recuperato: dovrete prima eseguire un update, il quale genererà un conflitto da risolversi seguendo la procedura mostrata poco fa.

Confrontare le differenze

Un'altra funzione che vi tornerà utile spesso è il confronto fra la copia locale corrente e quella presente nel repository: dal menu contestuale seguite TortoiseSVN -> Confronta con la versione precedente ed accederete ad uno strumento del tutto analogo a quello già visto durante la risoluzione dei conflitti.

Tutte le funzioni

Quelle trattate sono le funzioni che andrete ad utilizzare pressoché quotidianamente nel corso del vostro lavoro.

Accedendo al sotto-menu TortoiseSVN di file e cartelle sotto controllo di versione troverete però ancora moltissimi strumenti che potrebbero tornarvi utili per creare rami di sviluppo paralleli, impedire le modifiche a particolari documenti e molto altro ancora

MLIShot_20110703190827.jpg

Il punto di riferimento per maggiori informazioni in merito è la documentazione ufficiale (non ancora disponibile, al momento della stesura di questo articolo, in edizione italiana).

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati