Используя git svn я могу импортировать в репозиторий git последние 100 ревизий? - PullRequest
3 голосов
/ 22 ноября 2010

Я пытаюсь клонировать большой svn-репозиторий в мой git-репозиторий. Проблема в том, что респ. слишком большой и SVN клон работает слишком медленно. Есть ли способ клонировать только последние N ревизий?

Примерно так:

git svn clone http://svn/svn/test . (from 200 to 400 revision)

или, может быть, что-то подобное:

git svn fetch (20,30,40-50 revisions)

Ответы [ 2 ]

7 голосов
/ 22 ноября 2010

Если бы это был git-репо, вы могли бы

git svn clone (url) --depth (N)

Но в SVN нетривиально найти номер ревизии «N ревизий назад», в отличие от Git.

Итак, вы должны указать номер ревизии SVN самостоятельно.

Алекс предоставил правильный синтаксис.

git svn clone -s -r534:HEAD http://some/svn/repo

Но вам легче вспомнить и сделать следующее:

# checkout a specific revision
git svn clone -r N svn://some/repo/branch/some-branch
# enter it and get all commits since revision 'N'
cd some-branch
git svn rebase
2 голосов
/ 22 ноября 2010

Укажите номер версии SVN, с которого вы хотите начать свой клон с помощью переключателя -r.-r$REV:HEAD.

Примерно так:

 git svn clone --prefix=svn/ -s -r$REV:HEAD path/to/repo

Где $REV - номер ревизии, с которого вы хотите начать клон.

...