Могу ли я эмулировать svn: externals с помощью Mercurial?

Мы рассматриваем возможность перехода с SVN на Mercurial и столкнулись с камнем преткновения.

В настоящее время мы используем svn:externals для автоматического добавления общего набора библиотек в рабочий каталог. Я не могу найти поддержки для чего-либо подобного в Mercurial.

Есть ли способ сделать это автоматически с помощью Mercurial, или мне нужно подделать это как часть моего процесса сборки?


person Eltariel    schedule 20.10.2008    source источник
comment
Этот вопрос лучшее расширение hg может быть полезным. Я специально просил его решить эту проблему svn: externals. [Какие расширения hg / mercurial являются лучшими и обязательными?] (stackoverflow.com/questions/1869040/)   -  person JJ Rohrer    schedule 05.02.2010


Ответы (4)


Нет хорошего способа сделать это, используя только ртуть. Расширение леса, упомянутое в другом месте, вызывает больше проблем, чем исправления в настоящее время. Большинство людей просто используют большое репо и включают все свои компоненты в репо, а затем загружают свои сценарии сборки и используют сторонние библиотеки - используя maven, если они являются Java-головами.

Короткий ответ «подделайте это в процессе сборки».

Обновление:

В Mercurial 1.3 была добавлена ​​новая функция дополнительных репозиториев. это похоже на расширение старого леса, но запускается как новый код.

Subrepos считаются «крайней мерой».

person Ry4an Brase    schedule 24.10.2008
comment
Привет. Я не совсем понимаю. Большинство людей просто используют большое репо и включают все свои компоненты в репо. Как это будет работать? Предполагая, что у вас есть project1 и project2, которые используют и component1, и component2, как бы вы «выполнили проверку» project1 за одно обращение с помощью Mercurial? - person Nick Pierpoint; 13.07.2009
comment
Поместите все project1, project2, component1 и component2 в одно репо и проверьте их все сразу. Тем не менее, я редактирую свой ответ, чтобы показать новую функцию NestedRepositories в версии 1.3. - person Ry4an Brase; 13.07.2009
comment
Я считаю, что в версии 1.5 функция вложенных репозиториев улучшена. - person Peter Lillevold; 31.03.2010
comment
Да, они даже удалили предупреждение о бета-тестировании со страницы вики. - person Ry4an Brase; 31.03.2010

Похоже, что функциональность Forest Extension реализована в ядре Mercurial (начиная с версии 1.3):

https://www.mercurial-scm.org/wiki/Subrepository.

В настоящее время помечен как "экспериментальный", но, возможно, это будет путь для обработки функциональных возможностей svn: external -type начиная с v1.4.

person Nick Pierpoint    schedule 13.07.2009

Вы пробовали Deps Extension?

Это не часть Mercurial, но похоже имитирует svn:externals функцию

person yanjost    schedule 12.05.2009

Попробуйте Forest Extension от Mercurial.

person sanxiyn    schedule 20.10.2008
comment
Остерегайтесь прирастания леса. Он не обновлялся и работает только со старыми версиями Mercurial. Он потерял популярность у большинства участников Mercurial, поэтому я не думаю, что в будущем он будет развиваться. - person Ry4an Brase; 24.10.2008