Я пытаюсь продать нашу группу за использование Mercurial в качестве исходного хранилища, а не VSS. В процессе обновления наших сценариев сборки я сталкиваюсь с проблемой, пытающейся получить файлы из репозитория Hg.
Наши сборки автоматизированы с помощью NAnt и в настоящее время работают для локальных сборок или сборок из VSS (т. Е. По мере необходимости извлекают исходный код из VSS). Я пытаюсь обновить их для работы с Mercurial.
В основном, когда я работаю с отдельными файлами, у меня нет проблем, так как я могу просто использовать задачу NAnt 'get' (после получения соответствующего хеша ревизии), чтобы получить отдельный файл.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно работать с каталогом (и подкаталогами) файлов, которые не находятся в корне хранилища. Кажется, я не могу подобрать правильные команды для извлечения / копирования подкаталога из репозитория в мой «рабочий» каталог для сборок. Я провел почти весь день, пытаясь выяснить, как сделайте это с исполняемыми файлами mercurial (чтобы я мог использовать задачу exec 'для NAnt), и в основном ударились о стену, так что я решил попробовать опубликовать здесь.
Может ли кто-нибудь подтвердить, возможно ли это, и дать несколько советов относительно того, как я могу это сделать? Я понимаю, что Mercurial отслеживает изменения по файлам, а не по каталогам, но мне это кажется странным что это не доступно из коробки (из того, что я могу сказать).
Если это просто невозможно, единственные обходные пути, которые я вижу, это либо поддерживать списки ожидаемых файлов набора файлов NAnt для работы (тьфу!), Либо клонировать весь репозиторий во временный каталог, а затем просто копировать файлы из этого источника как необходимо (мне кажется, что это обломок).
Я понимаю, что мог бы просто создать другой репозиторий для каталога, с которым я хочу работать, но я предпочел бы не идти по этому пути, поскольку я думаю, что это усложнит то, что я пытаюсь сделать значительное количество (мне пришлось бы применять это большое количество раз для всех различных библиотек, которые мы создаем ..).