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
Vediamo come utilizzarlo.
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
Ora che il software è pronto, possiamo iniziare a lavorare.
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
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)
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
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...
Pochi istanti più tardi, avrete creato una nuova revisione con il materiale aggiornato.
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.
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
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
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
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.
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
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.
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.
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
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