Безопасно ли обновлять после ошибки в середине клона? - PullRequest
1 голос
/ 20 января 2012

Получение некоторой ошибки zlib в середине клонирования большого репо (4 ГБ) из Mercurial (Kiln).

Что я должен (могу) делать дальше? Удалите и попробуйте с самого начала, или можно просто hg pull -u?

Будет ли локальный репозиторий в согласованном состоянии после некоторой ошибки в середине клонирования?

обновление для уточнения вопроса: клон репозитория был успешным, но клон какого-либо субпозитория не выполнен. Это что-то меняет?

1 Ответ

2 голосов
/ 20 января 2012

Если вы столкнулись с ошибкой при клонировании большого хранилища, Mercurial автоматически прервет транзакцию.При откате транзакции Mercurial все очистит.Для hg clone это, к сожалению, означает, что уже загруженные наборы изменений пропали.Таким образом, вы можете спокойно клонировать.

Однако, как вы задали вопрос, похоже, что после аборта что-то осталось.Итак, я думаю, вы начали hg pull, который был прерван на полпути?То же самое относится и к вытягиванию: прерывание откатит транзакцию, и вы можете безопасно перезапустить hg pull.

Прерванное извлечение выглядит так:

$ hg pull http://localhost:8000
pulling from http://localhost:8000/
searching for changes
adding changesets
transaction abort!                                                              
rollback completed                                                              
abort: stream ended unexpectedly (got 12 bytes, expected 503)                   

Я начал hg serve на моей машине и начал тянуть с этого сервера.Затем я убил hg serve в середине тяги.Клиент прервал и откатил транзакцию.

...