Come integrare GIT e SVN

Git non è l’unico sistema di controllo di versione esistente (aimè! xD). Ad esempio SVN è il sistema utilizzato ufficialmente dal progetto KDE (anche se c’è l’intenzione di passare a Git nel prossimo futuro). A questo punto sorge spontaneo chiedersi come si possa fare per partecipare a questi progetti ma, allo stesso tempo, continuare ad utilizzare il nostro (mio) amato Git?

La soluzione, ovviamente, esiste. Basta installare il pacchetto git-svn che offre un comodo layer di interfaccia fra Git e Svn. Ma vediamo come usarlo:

La prima cosa da fare è di clonare il repository svn. Questo può essere fatto semplicemente con il comando:


git svn clone  ?optional-directory-name?

Lo svantaggio di questa operazione è data però dalla lentezza. Questo perché la cronologia di git viene riempita scaricando dal repo svn ogni commit singolarmente. Quindi è meglio che eseguiate questo comando solamente quando avete un po’ di tempo da perdere.

Il prossimo comando serve a tenere aggiornata la nostra copia locale rispetto al trunk remoto. Il corrispettivo, in pratica, del comando svn update.


git svn rebase

Per ultimo, vediamo invece come inviare il nostro ramo locale nel ramo remoto:


git svn dcommit

Per tutto il resto del tempo potete continuare ad utilizzare i classici comandi git, potete creare rami locali, riunirli, fare tutto ciò che vi pare come se il progetto fosse nativamente gestito da git.

Un vantaggio niente male eh? 😉

Comments are closed.