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 clone
comando 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 -rN
opção onde N
está 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~3
pelo 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
--depth
para 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)