Problème
Comment créer une copie superficielle avec git-svn à partir d'un référentiel Subversion, par exemple, comment extraire uniquement les trois dernières révisions?
La git clonecommande peut obtenir les n dernières révisions d'un référentiel Git si vous utilisez l'option --depth, c'est-à-dire que vous obtenez une copie superficielle du référentiel. Exemple:
git clone --depth 3 git://some/repo myshallowcopyrepo
Existe-t-il une option similaire pour git-svn?
Mes découvertes à ce jour
Jusqu'à présent, je n'ai trouvé que l' -rNoption où se Ntrouve la révision à tirer. Exemple:
git svn clone -rN svn://some/repo
Selon la documentation, il est possible d'utiliser -r$REVNUMBER:HEAD. J'ai essayé ce qui suit pour obtenir les 3 dernières révisions qui ont renvoyé un message d'erreur.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
J'ai donc remplacé HEAD~3par le numéro réel de la troisième mais dernière révision 534. Cela a fonctionné, mais cela nécessite que je détermine d'abord le numéro de révision de la troisième mais dernière validation.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Documentation
--depthpour git svn, puisque le support est déjà là. Et il doit déjà trouver la dernière version du serveur?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.(mais n'a pas fonctionné pour moi)