Problem
Wie erstellt man mit git-svn eine flache Kopie aus einem Subversion-Repository, z. B. wie zieht man nur die letzten drei Revisionen?
Der git cloneBefehl kann die letzten n Revisionen aus einem Git-Repository abrufen, wenn Sie die Option verwenden --depth, dh Sie erhalten eine flache Kopie des Repositorys. Beispiel:
git clone --depth 3 git://some/repo myshallowcopyrepo
Gibt es eine ähnliche Option für git-svn?
Meine bisherigen Entdeckungen
Bisher habe ich nur die -rNOption gefunden, wo Ndie Revision zu ziehen ist. Beispiel:
git svn clone -rN svn://some/repo
Laut Dokumentation besteht die Möglichkeit zur Verwendung -r$REVNUMBER:HEAD. Ich habe Folgendes versucht, um die letzten 3 Revisionen zu erhalten, die eine Fehlermeldung zurückgaben.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Also habe ich durch HEAD~3die tatsächliche Nummer der vorletzten Revision 534 ersetzt. Das hat funktioniert, aber dafür muss ich zuerst die Revisionsnummer des vorletzten Commits herausfinden.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Dokumentation
--depthfür git svn, da die Unterstützung schon da ist. Und muss es schon die neueste Version vom Server herausfinden?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.(hat aber bei mir nicht funktioniert)