Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Comandi utili lato server

I principali comandi lato server per amministrare il repository
I principali comandi lato server per amministrare il repository
Link copiato negli appunti

Esistono una serie di comandi, da eseguire direttamente sul server, per la manutenzione e verifica dei nostri repository.

svnadmin

Come abbiamo già visto, con svnadmin create siamo in grado di creare di un nuovo repository.

Il comando svnadmin hotcopy ci consente di effettuare una copia completa del nostro repository:

svnadmin hotcopy /var/svn/guidasvn /var/svn/guidasvn_backup

La differenza rispetto a una normale copia realizzata tramite filesystem è che questo comando si occupa di verificare eventuali transazioni in corso, e prendere le dovute precauzioni per far sì che il repository di destinazione non sia corrotto.

Il comando svnadmin dump, invece, esporta in un file tutto lo storico delle transazioni caricate sul repository. Non si tratta di una copia completa del repository: non contiene la configurazione, gli script di hook ed eventuali lock dei file. Corrisponde alla successione storica delle modifiche che hanno portato il repository allo stato attuale.

svnadmin dump guidasvn > guidasvn.dump

È possibile effettuare il dump solo di una revisione oppure di un range di revisioni. Questo risulta molto utile per ridurre le dimensioni dei file creati. Infatti, la dimensione di un file di dump dell'intero repository risulterà molto superiore rispetto allo spazio occupato dal repository stesso. Come vedremo nella prossima lezione, Subversion adotta diverse tecniche per risparmiare spazio su disco, mentre il file di dump deve essere completo. L'utilizzo di range di revisioni ci può essere utile per creare diversi piccoli file piuttosto di uno molto grosso.

Il comando svnadmin load è il complemento di svnadmin dump. Serve per importare in un repository tutte le modifiche salvate nel file di dump.

Questi due comandi possono essere usati in fase di migrazione del repository tra una versione di Subversion e un'altra (solo versioni maggiori: ad esempio per migrare dalla 1.0 alla 1.5 non c'è bisogno di dump e load); oppure se si vuole sostituire l'hardware e reinstallare Subversion.

Possono inoltre essere utilizzati come backup: la creazione pianificata di un file di dump mi permette di avere un salvataggio al quale attingere in caso di problemi.

Infine, un altro utilizzo è quello di riunire diversi repository in uno solo.

svndumpfilter

svndumpfilter collabora in qualche modo con i comandi appena visti. Consente di applicare dei filtri di inclusione o esclusione a file di dump esistenti, in modo da estrarre solo una parte delle transazioni contenute. L'uso tipico prevede che ci sia un file di dump in ingresso e un altro, nuovo file di dump che contiene il risultato filtrato. Questo file risultante potrà poi normalmente essere applicato con svnadmin load.

svnlook

svnlook permette di reperire varie informazioni su un repository, ad esempio la revisione attuale, o i dettagli di uno specifico commit (autore, data, messaggio di log).

svnsync

svnsync serve per replicare la struttura di un repository primario su un repository secondario. Attenzione a non confonderlo con il normale comando copy, che copia file e cartella all'interno dello stesso repository. In questo caso stiamo parlando di una copia tra due repository diversi; il secondo, tuttavia, risulta essere solo una replica del primo e non può essere modificato o acceduto. Può essere utile come ulteriore strumento di backup, o come versione di sola lettura del repository principale.

Ti consigliamo anche