Configuring Subversion

From AIRWiki
Revision as of 15:59, 7 April 2008 by BernardoDalSeno (Talk | contribs) (Mentioned 'svn help')

Jump to: navigation, search

For general information about Subversion and how to use it, please see the Subversion manual. If you are not familiar with version control systems, the first chapter of the manual is a must-read. If you are familiar with CVS, please read at least Appendix B of the manual. From the command line, svn help gives you a complete overview of the commands and their use.

TortoiseSVN under Windows

These are the instructions to use TortoiseSVN under Windows, written by Francesco Cartella, a former student. They are still in Italian, sorry.

TortoiseSVN si deve appoggiare ad un client ssh esterno che è in grado di autenticarsi sul server utilizzando la chiave che hai creato. L'ssh che ho usato io è quello incluso nel programma cygwin (lo scarichi da http://www.cygwin.com/). Quello che ti consiglio di fare è (se non l'hai già fatto) di scaricare cygwin e di installare i pacchetti openSSH e subversion (li selezioni in fase di setup nella scheda "Select Package" cliccando su View in alto a destra fin quando non ti compare la lista "full" che ti mostra tutti i pacchetti disponibili in ordine alfabetico; devi spuntare i check box relativi ai due pacchetti in questione).

Una volta che hai fatto questo puoi fare qualche test.

Innanzitutto devi mettere le chiavi che hai generato e che hai registrato sul server savane, nella cartella creata da cygwin in fase di installazione chiamata ".ssh" in modo da rendere utilizzabili e visibili le chiavi a cygwin durante la connessione. Nel mio caso questa cartella si trova in C:\Programmi\cygwin\home\Francesco Cartella\.ssh ma ovviamente dipende dal percorso che hai usato per installare cygwin.

Fatto ciò puoi provare a vedere se riesci ad autenticarti con ssh sul server savane: apri cygwin e scrivi "ssh -v usrname@savane.elet.polimi.it". A questo punto possono succedere due cose:

  1. esce con un errore tipo "exit status 1". In questo caso, a dispetto dell'errore, siamo a cavallo perchè l'autenticazione è andata a buon fine e il server savane riesce a capire chi sei. Se ottieni questo risultato puoi usare (se hai scaricato il pacchetto subversion con cygwin) svn tranquillamente da riga di comando (ora vediamo la configurazione di Tortoise)
  2. ti chiede tre volte una password. In questo caso savane non ti riconosce e ciò può essere dovuto a due fatti: o c'è qualche problema con la chiave (tipo non l'hai registrata sul server in maniera corretta) oppure savane non ha ancora registrato la chiave sul suo server (visto che questa è una procedura che richiede del tempo).

Se sei in quest'ultimo caso prova a rigenerare la chiave con cygwin e a registrarla sul server in questo modo (mi scuso se dico cose banali, ma spesso questa procedura porta a confusione ed è cruciale eseguirla in maniera corretta): apri cygwin e lancia il comando

ssh-keygen

Lascia il percorso e il nome del file di default ("DovehaiinstallatoCygwin/home/nomeutente/.ssh/id_rsa") premendo invio e lascia la passphrase in bianco. A questo punto portati nella cartella ".ssh", apri il file "id_rsa.pub" con un editor di testo (anche il notepad va bene), copi la stringa da "ssh-rsa XXXX" fino a "XXX==" (!!includendo quindi i due = finali ed escludendo il nome del computer che è alla fine!!). Questa è la stringa da registrare sul server savane nella scheda "Authentication" della pagina "La Mia Configurazione".

Quando finalmente riesci ad autenticarti con il comando

ssh -v usrname@savane.elet.polimi.it

e quindi a ricadere nella prima opzione che ti ho descritto su, puoi configurare TortoiseSVN in questo modo: Crei una cartella nel percorso in cui vuoi che ti scarichi i file contenuti nella repository. Tortoise dovrebbe integrarsi con explorer di windows e quindi ti dovrebbe modificare il menu contestuale; per cui cliccando con il tasto destro all'interno della cartella che hai creato ti dovrebbero comparire due voci relative a TortoiseSVN. Tu devi cliccare su "TortoiseSVN -> Settings". Ti si apre la finestra delle impostazioni. Da questa devi scegliere la scheda "Network" che è una di quelle che ti trovi nel riquadro a sinistra.

Qui vai ad impostare il client ssh su cui si deve appoggiare Tortoise per effettuare la connessione. Quello che abbiamo utilizzato è quello di cygwin, quindi, nel campo "SSH client" della sottoscheda "SSH" devi specificargli il percorso e il file ssh.exe da utilizzare. Nel mio caso questo file exe si trova in "C:\Programmi\cygwin\bin\ssh.exe". In questo modo Tortoise si collegherà in maniera corretta, utilizzando l'ssh di cygwin che utilizza la chiave che hai generato e registrato sul server.

A questo punto non ti resta altro da fare che configurare l'url della repository da cui prendere i file e fare il primo checkout. Per fare questo devi ancora una volta cliccare con il tasto destro nella cartella che hai creato in precedenza e selezionare "SVN Checkout". Nel campo "URL of repository" scrivi "svn+ssh://usrname@savane.elet.polimi.it/svn/airbat" (!!senza quindi il secondo airbat alla fine!!), incrocia le dita e premi ok. Se tutto va per il meglio in qualche istante ti troverai in questa cartella i file della repository. ;-)


Per vedere se la chiave è stata registrata su Savane prova a lanciare da cygwin il comando

ssh -v <tuousername>@savane.elet.polimi.it

Con l'opzione -v attivi il "verbose mode" e quindi ti restituisce anche i messaggi di debug in modo tale che puoi vedere cosa sta facendo. In ogni caso se anche con questo comando ti chiede tre volte la password vuol dire che ancora la chiave non è stata registrata. Altrimenti vuol dire che la chiave è sul server e sei pronto ad autenticarti in maniera corretta e ad usare Tortoise.