- это отсутствующее внешнее ограничение svnsync или ограничение hg convert?
svnsync
используется для создания зеркала репозитория SVN.Это включает в себя любые svn:externals
свойства.Следовательно, это должно быть ограничение hg convert
.
Обратите внимание, что вам на самом деле не нужно создавать зеркало с svnsync
.Статья рекомендует это только потому, что наличие локальной копии может ускорить процесс преобразования.
Можно ли каким-либо образом заставить синхронизировать внешнее также в том же репозитории Mercurial?
Хранилище SVN обычно содержит несколько слабо связанных проектов, каждый из которых имеет свои собственные ветви и теги.Но Mercurial не работает таким образом: когда вы разветвляетесь, вы разветвляете все, что находится в хранилище.Вы должны создать отдельный репозиторий Mercurial для каждого проекта в SVN, который имеет свои собственные ствол / ветви / теги.Этот другой подход, скорее всего, объясняет, почему hg convert
игнорирует внешние объекты, даже если они находятся в одном и том же хранилище SVN.
В ртутном эквиваленте есть эквивалент svn:externals
;это называется "подпозитории".Вместо одного или нескольких свойств svn:externals
у вас есть один файл .hgsub
с аналогичным содержимым в корневом каталоге вашего проекта.Сначала вы должны преобразовать каждый проект SVN в отдельный ртутный репозиторий, а затем соединить их с подкаталогами.См. Mercurial Wiki-страницу для подпапок для более подробной информации.