Problem
Jak tworzysz płytką kopię za pomocą git-svn z repozytorium Subversion, np. Jak wyciągasz tylko trzy ostatnie wersje?
git clone
Polecenie może dostać ostatnie n wersje z repozytorium Git przypadku korzystania z opcji --depth
, tj masz płytkie kopię repozytorium. Przykład:
git clone --depth 3 git://some/repo myshallowcopyrepo
Czy istnieje podobna opcja dla git-svn?
Moje dotychczasowe odkrycia
Do tej pory znalazłem tylko -rN
opcję, w której N
można pobrać wersję. Przykład:
git svn clone -rN svn://some/repo
Zgodnie z dokumentacją istnieje możliwość korzystania -r$REVNUMBER:HEAD
. Wypróbowałem następujące, aby uzyskać ostatnie 3 wersje, które zwróciły komunikat o błędzie.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Zastąpiłem HEAD~3
więc faktyczną liczbą trzeciej, ale ostatniej wersji 534. To zadziałało, ale to wymaga ode mnie, aby najpierw ustalić numer wersji trzeciego, ale ostatniego zatwierdzenia.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Dokumentacja
--depth
za git svn
, ponieważ wsparcie jest już tam. I musi już znaleźć najnowszą wersję z serwera?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(ale nie zadziałało dla mnie)