Можно ли клонировать с 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:

  1. начать клонирование
  2. немедленно прервать его (Ctrl+C в Windows)
  3. чем тянуть
  4. у тебя недостаточно памяти
  5. повторяйте шаг 3, пока не проверите все коммиты
Другие вопросы по тегам