Мы рассматриваем возможность перехода с SVN на Mercurial и столкнулись с камнем преткновения.
В настоящее время мы используем svn:externals для автоматического добавления общего набора библиотек в рабочий каталог. Я не могу найти поддержки ничего подобного в Mercurial.
Есть ли способ сделать это автоматически с помощью Mercurial, или мне нужно подделать это как часть моего процесса сборки?





Попробуйте Mercurial Расширение леса.
Остерегайтесь приращения леса. Он не обновлялся и работает только со старыми версиями Mercurial. Он потерял популярность у большинства сотрудников Mercurial, так что я не думаю, что он будет развиваться в будущем.
Нет хорошего способа сделать это, используя только ртуть. Расширение леса, упомянутое в другом месте, вызывает больше проблем, чем исправления в настоящее время. Большинство людей просто используют большое репо и включают все свои компоненты в репо, а затем загружают свои сценарии сборки и используют сторонние библиотеки - используя maven, если они являются Java-головами.
Короткий ответ «подделайте это в процессе сборки».
Обновлять:
В Mercurial 1.3 была добавлена новая функция дополнительных репозиториев. это похоже на старое расширение леса, но начиналось как новый код.
Подрепо считаются «особенность последней инстанции».
Привет. Я не совсем понимаю: «Большинство людей просто используют большое репо и включают все свои компоненты в репо». Как это будет работать? Предполагая, что у вас есть project1 и project2, которые используют и component1, и component2, как бы вы "оформили заказ" project1 за один удар с помощью Mercurial?
Поместите все project1, project2, component1 и component2 в одно репо и проверьте их все сразу. Тем не менее, я редактирую свой ответ, чтобы показать новую функцию NestedRepositories в 1.3.
Я считаю, что в версии 1.5 функция вложенных репозиториев улучшена.
Да, они даже удалили предупреждение о бета-тестировании со страницы вики.
Вы пробовали Расширение Deps?
Это не часть Mercurial, но, похоже, имитирует функцию svn:externals.
Похоже, что функциональность Forest Extension реализована в ядре Mercurial (начиная с версии 1.3):
https://www.mercurial-scm.org/wiki/Subrepository.
В настоящее время отмечен как "экспериментальный", но, возможно, это будет путь для обработки функциональных возможностей svn: external -type начиная с версии 1.4.
Этот вопрос лучшее расширение hg может быть полезным. Я специально просил его решить эту проблему svn: externals. [Какие расширения hg / mercurial являются лучшими и обязательными?] (stackoverflow.com/questions/1869040/…)