Problema
Como você cria uma cópia superficial com o git-svn a partir de um repositório Subversion, por exemplo, como você extrai apenas as últimas três revisões?
O git clonecomando pode obter as últimas n revisões de um repositório Git se você usar a opção --depth, ou seja, você obtém uma cópia superficial do repositório. Exemplo:
git clone --depth 3 git://some/repo myshallowcopyrepo
Existe uma opção semelhante para o git-svn?
Minhas descobertas até agora
Até agora, só encontrei a -rNopção onde Nestá a revisão. Exemplo:
git svn clone -rN svn://some/repo
De acordo com a documentação, existe a possibilidade de uso -r$REVNUMBER:HEAD. Tentei o seguinte para obter as últimas 3 revisões, que retornaram uma mensagem de erro.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Então substituí HEAD~3pelo número real da terceira mas última revisão 534. Isso funcionou, mas isso exige que eu primeiro descubra o número da revisão da terceira mas última confirmação.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Documentação
--depthpara git svn, uma vez que o apoio já está lá. E ele já tem que descobrir a última rev do servidor?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.(mas não funcionou para mim)