Problem
Wie erstellt man mit git-svn eine oberflächliche Kopie eines Subversion-Repositorys, z.B. wie zieht man nur die letzten drei Revisionen?
Les git clone
Befehl kann die letzten n Revisionen aus einem Git-Repository abrufen, wenn Sie die Option --depth
, d.h. Sie erhalten eine oberflächliche Kopie des Repositorys. Beispiel:
git clone --depth 3 git://some/repo myshallowcopyrepo
Gibt es eine ähnliche Option für git-svn?
Meine bisherigen Entdeckungen
Bislang habe ich nur die -rN
Option, bei der N
ist die zu ziehende Revision. Beispiel:
git svn clone -rN svn://some/repo
Gemäß der Dokumentation besteht die Möglichkeit, die -r$REVNUMBER:HEAD
. Ich habe Folgendes versucht, um die letzten 3 Revisionen zu erhalten, was eine Fehlermeldung ergab.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Ich ersetzte also HEAD~3
mit der tatsächlichen Nummer der drittletzten Revision 534. Das hat funktioniert, aber dazu muss ich erst die Revisionsnummer der drittletzten Übergabe herausfinden.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Dokumentation