Синхронизация SVN до Mercurial с использованием SVNSYNC & HG Convert - Misses SVN: внешние?

StackOverflow https://stackoverflow.com/questions/4258518

Вопрос

Я создал Mercurial зеркало репозитория SVN (используя этот учебник: http://oreilly.com/Opensource/excerpts/Opensource-mercurial/migrating-To-mercurial.html.). Синхронизация отлично работает, за исключением того, что я заметил, что он не поднимает внешний репозиторий, который ссылается на основной SVN Reppo ...

Я в идеале хотел бы иметь возможность потянуть все как однократное репо, в Mercurial (наряду со сборами, если это возможно).

То, что я не уверен в том, что отсутствует внешнее ограничение Svnsync или ограничение HG Convert?

Есть ли способ, которым я могу заставить внешнюю синхронитую, в том же Repo Mercurial?


Я думаю, что хорошее решение будет настроить процесс синхронизации снова, для внешнего. Создайте вилку текущего зеркала HG и синхронизируйте внешнюю в вилке зеркала HG.

Улова с том, внешний багажник предназначен для попадания в подпапку первого зеркала, так как я могу реплицировать это с преобразованием? Я сомневаюсь, что могу сказать преобразовать в импорт в подпапку ...

Это было полезно?

Решение

Недостающее внешнее ограничение Svnsync или ограничение HG Convert?

svnsync используется для создания зеркала репозитория SVN. Это включает в себя svn:externals характеристики. Поэтому это должно быть ограничение hg convert.

Обратите внимание, что вам не нужно создавать зеркало с svnsync. Отказ В статье рекомендуется это только потому, что наличие локальной копии может ускорить процесс преобразования.

Есть ли способ, которым я могу заставить внешнюю синхронитую, в том же Repo Mercurial?

Для репозитория SVN распространена множественные слабо связанные проекты, каждый из которых со своими собственными ветвями и тегами. Но Mercurial не работает таким образом: когда вы вешаете, вы веревку все, что находится в репозитории. Вы должны создать отдельный репозиторий Mercurial для каждого проекта в SVN, который имеет свой собственный багажник / ветви / теги. Этот другой подход, скорее всего, почему hg convert игнорирует внешность, даже если они находятся в том же репозитории SVN.

Есть эквивалент svn:externals в Mercurial; Это называется «Субрипозитории». Вместо того, чтобы иметь один или несколько svn:externals свойства, у вас есть один .hgsub Файл с аналогичным контентом в корне вашего проекта. Сначала вы должны преобразовать каждый проект SVN на отдельный репозиторий Mercurial, а затем подключите их с помощью подсрефозиторов. Увидеть Страница Mercurial Wiki для подрепозиторов Больше подробностей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top