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
8
A
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.
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