Я начал клонировать репозиторий SVN с помощью операции клонирования мерзавца-svn's. Приблизительно после 6 часов импорта (это - большой repo), мой компьютер пошел и спал на мне. Существует ли способ возобновить операцию, не восстанавливая всю начальную работу?
Команда git svn fetch
для возобновления клона git svn
подтверждается несколькими источниками:
(Кстати, если на начальном этапе клонирования ваше соединение прерывается или вам нужно его остановить, то для возобновления клона вам просто нужно выполнить указанную выше команду, чтобы возобновить загрузку истории).
Похоже, утечка памяти в
git-svn
. Размер процессаgit-svn
медленно увеличивался и примерно через две недели достиг резидентного размера 1,2 ГБ, после чего ОС отказалась разрешить его разветвление.
Дело в том, что это было замаскированным благословением.
Мне удалось возобновить прерванный клон с помощью простого "git svn fetch
", и он работал намного быстрее с теперь значительно меньшей кучей.
Это сработало настолько хорошо, что у меня появилась привычка прерывать и перезапускать процесс каждый вечер и каждое утро. Через несколько дней это было сделано.
Вы начинаете свои приключения с
git-svn
с клонирования существующего репозитория Subversion:
git svn clone url://path/to/repo -s
Флаг
-s
предполагает, что ваш репозиторий использует соглашение «ствол, ветви, теги». Если нет, вам нужно указать вручную, какие каталоги представляют ветки и теги, если вы хотите, чтобы Git знал о них.Это займет много времени, так как каждая ревизия будет извлечена из SVN и зафиксирована локально. Если по какой-либо причине он остановится, вы можете возобновить его с помощью
git svn fetch
.
Я нашел сообщение в блоге , в котором был (я надеюсь) правильный ответ.
Очевидно, выполнение git svn fetch
эффективно завершает операцию клонирования. Надеюсь!