2009-11-11 20 views
6

Sto usando Tortoise SVN (e VisualSVN) con un repository locale sul mio PC desktop per un paio di mesi. Abbiamo appena installato un server SVN Linux e voglio spostare il mio repository su questo server, conservando tutta la mia cronologia. Una volta spostato, smetterò di usare il repository locale.Come posso spostare il mio repository SVN Tortoise locale sul nostro nuovo server SVN Linux?

I documenti Tortoise suggeriscono di utilizzare il comando "Trasferisci ...", ma questo si lamenta degli UUID non corrispondenti. Ho trovato alcuni suggerimenti su come modificare il file UUID per farlo corrispondere al server, ma Tortoise ha ignorato il nuovo valore, anche dopo un riavvio.

Inoltre, al momento non ho l'accesso da riga di comando al server Linux, ma probabilmente posso ottenerlo se necessario.

Qual è il modo migliore per farlo?

risposta

9

È necessario svnadmin dump repository locale, ottenere che il file di dettagli sulla macchina Linux, e svnadmin load lì.

Relocate viene utilizzato sulle copie di lavoro dopo aver eseguito quanto sopra.

Here's the documentation.

+0

La discarica di svnadmin ha funzionato bene - grazie! Tuttavia, Relocate si è lamentato ancora degli UUID non corrispondenti. Inoltre, VisualSVN ha insistito sul riferimento al vecchio repository locale. Dopo un bel po 'di futbing in giro, ho ribattezzato TUTTE le mie copie di lavoro, e poi ho fatto checkout nuovi in ​​nuove directory di lavoro. Quando ho confermato che tutto è ancora pronto e funzionante, ho cancellato le vecchie copie di lavoro. –

2

Se si utilizza un FSFS-repository di backend (questo è normale dato che svn 1.3) si può solo file-copiare l'intera directory repository (ad es. Tramite SCP) al server LINUX. Quindi il trasferimento non dovrebbe essere un problema in quanto è di fatto lo stesso repository.

Il formato repo FSFS è la piattaforma compatibile (si prega di verificare che la versione di linux svn è uguale o superiore a quello che la versione VisualSVN)

Ho fatto questo molto spesso e funziona davvero (ovviamente è molto meglio di smettere di commettere prima di copiare il repo)

1

ho appena provato quanto segue (come risposta alla disperazione intenso):

I repository sono state create con TortoiseSVN e nessun SVN in esecuzione sul lato opposto (solo una risorsa condivisa). Così, ho installato il nuovo server SVN e utilizzato le sue file binari per eseguire

C:\csvn> svnrdump dump file://server_ip/shared_resource/project > projectDump.svndump 

Dove server_ip è l'ip del server in cui è stato creato il repository. E ha funzionato! Solo le autorizzazioni necessarie sulla cartella condivisa (nel mio caso ho un utente in Active Directory per accedere al vecchio server di repository e quello nuovo).

Ho appena intuito che questa informazione potrebbe aiutare chiunque, come me, sta patendo pesantemente la migrazione di una configurazione pessima.

Problemi correlati