On Friday 04 June 2010, Stefan Majewsky wrote:
On Freitag, 4. Juni 2010 08:55:44 Konrad Rosenbaum wrote:
Ich habe: einen Clone des Git-Repos. Ich brauche: eine Kopie des master-Branch plus ein paar Erweiterungen von mir in meinem SVN
Was muss ich jetzt machen?
Im Allgemeinen ist es aussichtslos, eine Git-Historie in ein SVN zu linearisieren.
Muss ja nicht sein. Ich muss nur ab und zu die aktuellste Variante im SVN haben - nach Möglichkeit ohne jedesmal ein svn import machen zu müssen.
Andersherum ist es relativ einfach, siehe git-svn (was Robert in seiner Mail beschrieben hat, aber das geht eben in die falsche Richtung).
Man muss tatsächlich so rum gehen, aber mit etwas kreativem gitten geht es dann:
1) man macht sich einen git clone des leeren SVN Pfades: git svn clone -s http://svnserver/pfad (-s sagt git svn dass man die üblichen trunk/branches/tags verwenden will)
2) man holt sich das originale git-Verzeichnis ran git remote add origin git://gitserver/pfad git pull -v
3) man ignoriert alle Warnungen von wegen default merge Pfad, etc.pp.
4) man merged origin mit lokal: git merge origin/master
5) man pusht local nach SVN: git dcommit -e
6) jetzt kann ich den SVN Pfad so verwenden wie ich will: als external Referenz in einem SVN-basierten Projekt und mit eigenen Modifikationen im SVN
Konrad