проблема
Как создать мелкую копию с помощью git-svn из хранилища Subversion, например, как вы извлекаете только последние три ревизии?
Команда git clone
может получить последние n ревизий из репозитория Git, если вы используете эту опцию --depth
, т.е. вы получаете поверхностную копию репозитория. Пример:
git clone --depth 3 git://some/repo myshallowcopyrepo
Есть ли подобная опция для git-svn?
Мои открытия до сих пор
До сих пор я только нашел -rN
вариант, где N
ревизия тянуть. Пример:
git svn clone -rN svn://some/repo
Согласно документации есть возможность использования -r$REVNUMBER:HEAD
. Я попробовал следующее, чтобы получить последние 3 ревизии, которые вернули сообщение об ошибке.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Поэтому я заменил HEAD~3
фактическим номером третьей, но последней ревизии 534. Это сработало, но для этого необходимо сначала выяснить номер ревизии третьего, но последнего коммита.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Документация
--depth
для git svn
, так как поддержка уже есть. И он уже должен узнать последнюю версию с сервера?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(но у меня не получилось)