Можно ли клонировать с hgsubversion по шагам? - PullRequest
7 голосов
/ 21 декабря 2010

Я пытаюсь клонировать довольно большой репозиторий 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 ]

6 голосов
/ 22 декабря 2010

Вы можете указать остановку ревизии с -r для клона, как предлагали другие.Другой вариант (если вы сохранили клон, где произошел сбой) - просто запустить hg pull в копии trunk_hg.Возможно, вам придется отредактировать / создать .hg/hgrc самостоятельно, чтобы добавить [paths]\n default = svn+https://my.reposit.ory/trunk, поскольку я думаю, что мы добавим это в конце процесса клонирования.Может быть, запустите hg svn rebuildmeta до того, как вы потянете, просто на всякий случай, если метаданные отслеживания hgsubversion были скрыты, когда произошло OOM.

Я надеюсь, это поможет!

1 голос
/ 22 декабря 2010

Клонирование с ограниченным диапазоном ревизий, а затем извлечение является рекомендуемым методом, и я могу подтвердить, что он работает безупречно для репозиториев SVN в диапазоне нескольких ГБ.

1 голос
/ 21 декабря 2010

http://www.selenic.com/mercurial/hg.1.html#clone

Можно попробовать использовать флаг -r <revid> для клонирования только определенного набора изменений.Хотя это может или не может работать с hgsvn.

0 голосов
/ 01 февраля 2013

Вот обходной путь для клонирования всего репозитория SVN:

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