Можно ли использовать Git-SVN в больших разветвленных хранилищах?
Я пытаюсь использовать Git в качестве интерфейса к репозиторию SVN, чтобы иметь возможность использовать приятные функции Git, такие как простое ветвление, копирование и т. Д.
Проблема в том, что SVN-репозиторий довольно большой (8000 оборотов) и содержит множество веток и тегов (как старых, так и новых).
Это макет, близкий к стандартному, с конфигом, содержащим директивы fetch, branch и tags.
Поскольку самая старая ветвь и тег ссылаются на ревизию 10, это означает, что каждыйsvn fetch
читает всю историю репозитория от версии 10 и выше, что может занять часы при медленном соединении.
Если я только отслеживаю транк, то это нормально, но я все еще хочу, чтобы git знал о новых ветках и тегах.
Я обычно смотрю наgit log -1
на ветке я нахожусь и получаю ревизию SVN из комментария, так что я могу сделатьgit svn fetch -r7915:HEAD
или похожие. Я думаю, это то, чтоgit svn fetch --parent
делает. Но зачем мне это делать?
Я на Windows, и использую TortoiseGit, который имеет довольно хорошую поддержкуgit-svn
, но так как TortoiseGit работает толькоgit svn fetch
Я немного застрял.
Я делаю что-то неправильно? я ожидаюsvn fetch
быть быстрой операцией, когда первыйsvn clone -s
завершено.