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 clone
Befehl 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 -rN
Option gefunden, wo N
die 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~3
die 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
--depth
fü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)