Я пытаюсь использовать Git как интерфейс в хранилище SVN для того, чтобы иметь возможность использовать хорошие возможности Git и как простой разветвленности, припрятать и т.д.Можно ли использовать Git-svn на больших разветвленных репозиториях?
Проблема заключается в том, что репозиторий SVN является довольно большим (8000 оборотов) и содержит множество ветвей и тегов (старых, а также новых).
Это стандартная версия с конфигурацией, содержащей директивы выборки, ветви и теги.
Поскольку самая старая ветка и метка относится к ревизии 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
.
Благодарим за ответ. У меня нет проблем, что исходный клон требует времени, но каждая операция выборки после этого должна пройти почти все изменения, кажется неправильным. –