2009-10-17 8 views
8

Ich habe damit begonnen, ein SVN-Repository mit git zu verfolgen, indem ich nur sein Stammverzeichnis kloniere. Jetzt möchte ich die anderen Sachen verfolgen, aber ich möchte sie nicht erneut klonen müssen, nur um --stdlayout zu verwenden, da es eine lange Zeit zum Herunterladen dauert und ich den Großteil des Codes bereits lokal habe. Wie ändere ich das Repository-Layout so, dass es dem svn trunk/branches/tags-Schema entspricht, ohne es erneut klonen zu müssen?Starten Sie das Verfolgen von Zweigen/Tags auf einem git-svn-Repo, das nur Stammdaten verfolgt

Antwort

9

Old .git/config:

 
[svn-remote "svn"] 
     url = svn://host/project/trunk 
     fetch = :refs/remotes/git-svn 

New .git/config:

 
[svn-remote "svn"] 
     url = svn://host/project 
     fetch = trunk:refs/remotes/git-svn 
     branches = branches/*:refs/remotes/* 
     tags = tags/*:refs/remotes/tags/* 

Jetzt git svn reset -r1 -p; git svn fetch; git svn rebase laufen.

Nein, es ist nicht viel anders als ein git svn clone aufs Neue zu tun - das Hinzufügen Zweige bedeutet, dass git mehr verschmilzt sehen, was bedeutet, den Inhalt git verfolgt geändert hat, so git-svn muss alles regenerieren.

+0

Lassen Sie mich hinzufügen, dass 'git svn reset' wird fehlschlagen, wenn die angegebene Version nicht Teil des Projekts ist. Ich erwähne dies, da der Befehl in einigen älteren Versionen unklare Fehlermeldungen ausgeben würde. – UncleZeiv

Verwandte Themen