martedì 6 marzo 2012

Installare un server Subversion - Parte 5

Riprendiamo il nostro percorso. Questa quinta parte sarà dedicata a queste attività:
  1. Checkout repository, aggiunta di un file, verifica author (svn01)
  2. Creazione di un nuovo utente, nuovo checkout, verifica author su suoi nuovi files e revisioni di file esistenti.
Checkout del repository

Se non lo abbiamo fatto, verifichiamo che Pageant sia attivo e la chiave del nostro utente di Subversion sia caricata. 
Da sistema operativo Windows, utilizziamo TortoiseSvn (basta clickare con il tasto destro sul desktop, o su qualsiasi finestra di Explorer (il file manager). Posizioniamoci quindi in una cartella idonea, selezioniamo la voce checkout, e dalla casella combo scegliamo il repository appena creato e a cui abbiamo provato a connetterci nella Parte 4.

La URL, nell'ambiente di prova, è: 

svn+ssh://svn01.subversion.homeserver/Repo01


Se il checkout è andato a buon fine, dovremmo ottenere un risultato simile a questo:


Il repository è ancora vuoto!
Proviamo quindi a creare un nuovo file, un semplice file di testo con Notepad. Scriviamo qualcsa e salviamo.
Nella finestra di Explorer il file appare con una iconcina, che suggerisce che il file è nuovo.


Tramite le funzioni "add" e "commit" eseguiamo le operazioni di aggiunta e salvataggio del file nel repository Subversion. Comodo!






Se ora verifichiamo la cronologia del file appena creato, potremo osservare che esso ha, come author "svn01", cioè il nome che abbiamo messo nella nostra riga sul file ~/.ssh/authorized_keys. Non c'è nessun riferimento al vero utente linux, che rimane sempre "subversion".


A questo punto non ci resta che verificare la bontà della nostra configurazione di Subversion, provvedendo ad aggiungere un nuovo utente. Dimostreremo che
  1. Non abbiamo bisogno di un nuovo utente linux
  2. Non dovremo avvalerci, per esempio, di apache per l'autenticazione. I nostri requisiti di sistema rimangono molto bassi.
Per creare un nuovo utente di Subversion, apriamo il nostro fedele PuTTYgen e creiamo una nuova chiave, esattamente come abbiamo fatto in precedenza. Come key comment utilizziamo svn02 (per esempio). Utilizziamo anche una nuova password, e salviamo la chiave in un opportuna cartella.



Apriamo Pageant e carichiamo la nuova chiave, esattamente come fatto in precedenza.


Dalla finestra di PuTTYgen, copiamo la chiave pubblica selezionandola e premendo CTRL-C.
Apriamo una sessione amministrativa al nostro subversion (subversion@homeserver nel nostro ambiente) e andiamo a modificare il file ~/.ssh/authorized_keys.



Salviamo il files (ESC e poi :wq). Sul server abbiamo finito!
Apriamo PuTTY per creare la sessione dedicata a svn02. Ci basta caricare quella di svn01 (svn01.subversion.homeserver) e salvarla in svn02.subversion.homeserver, e apportare una semplice modifica: in Connection -> SSH -> Auth dobbiamo modificare la chiave privata da associare alla sessione e selezionare quella appena creata. Non dimentichiamoci di salvare la sessione.


Andiamo su una nuova cartella, idonea a ricevere il repository (caricato però dall'utente svn02), e iniziamo l'operazione di check-out.


Ricordiamoci di modificare la URL del repository sostituendo svn01 con svn02: la URL diventa:
svn+ssh://svn02.subversion.homeserver/Repo01


Ci aspettiamo questo risultato:


A questo punto possiamo creare un nuovo file o modificare l'esistente per poi aggiungerlo e committare, come abbiamo fatto in precedenza. Scegliamo di fare un altro file che chiameremo SecondoFile.txt. Una volta aggiunto e committato il file, dovremmo avere una finestra simile a questa:


Riapriamo la finestra di browse del repository, e osserviamo che i due file hanno autori diversi.



Come promesso, abbiamo creato un nuovo utente Subversion e non abbiamo creato un utente Linux, né abbiamo avuto bisogno della password di root.

Nella prossima parte proviamo a utilizzare Eclipse...

Nessun commento: