17. August 2013

Migration von CVS / SVN-Repositories

SVN

git-svn erlaubt es, ein Subversion-Repository als Git-Repository auszuchecken und Git-Commits wieder in das SVN-Repository zu committen. Empfehlung: Historie in Git möglichst linear halten, um die Kompatibilität mit SVN so weit als möglich aufrecht zu erhalten (Siehe Manpage, CAVEATS)

Projekt auschecken:

$ git svn clone http://svnx.googlecode.com/svn/ --stdlayout
$ git svn clone http://svnx.googlecode.com/svn/trunk

Neuesten Stand aus SVN holen (kein Merge, sondern rebase zu den erfolgten SVN-Commits):

$ git svn rebase

Git-Commits des aktuellen Branches nach SVN comitten (danach erfolgt ein Rebase, Änderungen werden neu aus SVN ausgecheckt):

$ git svn dcommit

CVS

git cvsimport importiert und aktualisiert CVS-Repository nach git:

$ mkdir nagios
$ git cvsimport -p x -v -d
    :pserver:anonymous@nagios.cvs.sourceforge.net:/cvsroot/nagios nagios

git cvsexportcommit committed einen Git-Commit nach CVS.

Weitere Informationen