Com\’è dura la professione!

19 gennaio 2009

Movimentare sorgenti con subversion

Filed under: Programmazione — lbell @ 21:39

Subversion è uno strumento utilissimo nel gestire i sorgenti di progetti anche complessi, con molti punti a favore (e qualche difettuccio).

Può succedere di avere la necessità di dividere un archivio che sta diventando troppo corposo, di dover promuovere un sottoprogetto ad avere una propria dignità, oppure semplicemente di dover cambiare il server.

E’ molto semplice farlo, prima di tutto esportando i dati contenuti nel repository originale mediante il comando svnadmin dump, tuttavia occorre avere serve l’accesso fisico al filesystem del server che ospita il repository.

svnadmin dump path_del_repository >file_risultato.dump

nelle opzioni del comando vi è la possibilità di esportare anche solamente un range di revisioni.

Per importare i dati nel nuovo repository, occorre posizionarsi nel filesystem del nuovo server e utilizzare svnadmin load

svnadmin load path_del_repository <file_risultato.dump

Se il repository non esiste già, occorre crearlo.

Nel caso occorra importare solo rami del sorgente esportato, prima del comando di load si può utilizzare svndumpfilter che agisce, come fa sospettare il nome, da filtro.

Pertanto se si desidera includere solamente la directory src ed il file NEWS del nostro ipotetico repository scriveremo:

svndumpfilter include /NEWS /src < esportazione.dump > dati_filtrati.dump

Attraverso l’opzione –parent-dir possiamo caricare i sorgenti in una data sottodirectory nel nuovo repository.

svnadmin load newrepository --parent-dir nome_directory <dati_filtrati.dump

I comandi hanno molte opzioni, ma la documentazione presente nel nel sito dedicato al libro on line http://svnbook.red-bean.com/ non solo è dettagliata ed esaustiva, ma discute anche del modo migliore di progettare ed usare un repository di Subversion.

Annunci

Blog su WordPress.com.