Можно ли клонировать с hgsubversion по шагам?
Я пытаюсь клонировать довольно большой репозиторий subversion с hgsubversion.
hg clone --startrev 8890 svn+https://my.reposit.ory/trunk trunk_hg
Примерно через час clone
операция прерывается с сообщением о нехватке памяти:
[r20097] user: description
abort: out of memory
Можно ли указать конечную редакцию для clone
операция и получить оставшиеся ревизии с pull
? Или как-то разбить clone
меньшими шагами?
4 ответа
Вы можете указать остановку ревизии с помощью -r для клона, как предлагали другие. Другой вариант (если вы сохранили клон, в котором произошел сбой) - просто запустить hg pull
в trunk_hg
копия. Возможно, вам придется редактировать / создавать .hg/hgrc
сам добавить [paths]\n default = svn+https://my.reposit.ory/trunk
Так как я думаю, что мы добавим это в конце процесса клонирования. Может быть, запустить hg svn rebuildmeta
перед проверкой просто на всякий случай, если метаданные отслеживания для hgsubversion были скрыты, когда произошло OOM.
Надеюсь, это поможет!
http://www.selenic.com/mercurial/hg.1.html
Можно попробовать использовать -r <revid>
флаг для клонирования только определенного набора изменений. Хотя это может или не может работать с hgsvn.
Клонирование с ограниченным диапазоном ревизий, а затем извлечение является рекомендуемым методом, и я могу подтвердить, что он работает безупречно для репозиториев SVN в диапазоне нескольких ГБ.
Вот обходной путь для клонирования всего репозитория SVN:
- начать клонирование
- немедленно прервать его (Ctrl+C в Windows)
- чем тянуть
- у тебя недостаточно памяти
- повторяйте шаг 3, пока не проверите все коммиты