Migrazione

Questa guida alla migrazione propone una sincronizzazione unidirezionale da SVN a Git durante il periodo di transizione. Ciò significa che mentre il tuo team acquisisce familiarità con Git, dovrebbe comunque eseguire commit solo nel repository SVN originale. Quando siete pronti per effettuare il passaggio, il repository SVN dovrebbe bloccarsi in qualsiasi stato si trovi. Quindi, gli sviluppatori dovrebbero iniziare a eseguire i commit nei propri repository Git locali e a condividerli tramite Bitbucket.

/wac/git-microsite/images/tutorials/migrating/migrating-migrate/01.svg

Il passaggio discreto da SVN a Git rende la migrazione molto intuitiva. Tutti i tuoi sviluppatori dovrebbero già comprendere i nuovi flussi di lavoro Git che utilizzeranno e dovrebbero avere avuto tutto il tempo per esercitarsi a usare i comandi Git nei repository locali che hanno clonato da Bitbucket.

Questa pagina ti guida nella fase finale della migrazione.

Sincronizza il repository Git

Prima di finalizzare la migrazione a Git, dovresti assicurarti che il tuo repository Git contenga tutte le nuove modifiche apportate al tuo repository SVN. Puoi farlo con lo stesso processo descritto nella fase di sincronizzazione.

git svn fetch
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force

Clonare il repository SVN

Anche se puoi ancora vedere la cronologia dei tuoi progetti pre-Git nel repository migrato, è una buona idea fare il backup del repository SVN nel caso in cui avessi bisogno di esplorare i dati SVN grezzi. Un modo semplice per eseguire il backup di un repository SVN consiste nell'eseguire quanto segue sul computer che ospita il repository SVN centrale. Se il tuo repository SVN è ospitato su una macchina Linux, puoi usare quanto segue:

svnadmin dump  | gzip -9 >

Sostituisci svn-repo con il percorso del file del repository SVN di cui stai eseguendo il backup e sostituisci il backup-file con il percorso del file compresso contenente il backup.

Rendi il repository SVN di sola lettura

Tutti i tuoi sviluppatori dovrebbero ora eseguire i commit con Git. Per far rispettare questa convenzione, puoi rendere il tuo repository SVN di sola lettura. Questo processo può variare a seconda della configurazione del tuo server, ma se stai usando il daemon svnserve, puoi farlo modificando il file conf/svnserve.conf del tuo repository SVN. La sezione [generale] dovrebbe contenere le seguenti righe:

anon-access = read auth-access = read

Questo indica a svnserve che sia gli utenti anonimi che quelli autenticati hanno solo permessi di lettura.

Riepilogo

E questo è tutto ciò che serve per eseguire la migrazione di un progetto su Git. Il tuo team dovrebbe ora lavorare allo sviluppo con un flusso di lavoro Git puro e godere di tutti i vantaggi dello sviluppo distribuito. Ottimo lavoro!

Consigliata per te

Blog di Bitbucket

Percorso di apprendimento DevOps

Scopri di più su Git

Trova altre guide e risorse su Git in questo hub.