Подтвердить что ты не робот

Возобновление git -svn clone

Я начал клонирование репозитория SVN с помощью операции git -svn clone. Примерно через 6 часов после импорта (это большое репо) мой компьютер пошел и спал на меня. Есть ли способ возобновить работу, не переработав всю начальную работу?

4b9b3361

Ответ 1

Команда git svn fetch для возобновления git svn clone подтверждается несколькими источниками:

(Между прочим, если во время начального шага клонирования ваше соединение разрывается или вам нужно остановить его, то для возобновления клонирования вам просто нужно выполнить указанную выше команду, чтобы возобновить загрузку истории).

Кажется, в 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.

Ответ 2

Я нашел сообщение в блоге, которое дало мне (я надеюсь) правильный ответ.

По-видимому, запуск git svn fetch эффективно завершает операцию клонирования. Здесь надеемся!

Ответ 3

Как VonC, CaptainAwesomePants и Archi все сказали git svn fetch делает трюк. Я делал git svn clone url... --authors-file=path/to/file, и клон не удался, потому что одного из авторов не было в файле авторов. Я добавил автора в файл и запустил git svn fetch, и он продолжил с того места, где он остановился, и позже просмотрел журнал git, кажется, что он использовал недавно добавленного автора, чтобы заменить имя автора фиксации, чтобы все было мило.

Ответ 4

От не менее git 2.1.0 вы можете возобновить, просто переиздав git svn clone

Однако это приведет к дублированию некоторых записей в вашем .git/config, удалите их, и все будет хорошо.