Problema
Come si crea una copia superficiale con git-svn da un repository Subversion, ad esempio come si estraggono solo le ultime tre revisioni?
Il git clone
comando può ottenere le ultime n revisioni da un repository Git se si utilizza l'opzione --depth
, ovvero si ottiene una copia superficiale del repository. Esempio:
git clone --depth 3 git://some/repo myshallowcopyrepo
Esiste un'opzione simile per git-svn?
Le mie scoperte finora
Finora ho trovato solo l' -rN
opzione dove N
è la revisione da tirare. Esempio:
git svn clone -rN svn://some/repo
Secondo la documentazione c'è la possibilità di utilizzare -r$REVNUMBER:HEAD
. Ho provato quanto segue per ottenere le ultime 3 revisioni che hanno restituito un messaggio di errore.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Quindi ho sostituito HEAD~3
con il numero effettivo della terza ma ultima revisione 534. Ha funzionato, ma ciò mi richiede di capire prima il numero di revisione della terza ma ultima commit.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Documentazione
--depth
per git svn
, dal momento che il supporto è già lì. E deve già scoprire le ultime rev dal server?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(ma non ha funzionato per me)