Как указать порядок извлечения корней vcs в teamcity v8.1.5

Я использую teamcity v8.1.5. Я где-то читал в Интернете. Я думал, что корни vcs проверяются в том порядке, в котором они перечислены в настройках контроля версий, но это не так.

Например, в настройках контроля версий корни vcs перечислены как:

б

с

когда я запускаю конфигурацию сборки, журнал сборки отображает извлечения как:

с

б

затем я отсоединяю, снова присоединяю его обратно, и тогда список становится

б

с

но выполнение другой чистой проверки по-прежнему приводит к исходному порядку

с

б

Есть ли какая-то внутренняя логика, которая определяет порядок извлечения корней VCS и как настроить этот порядок?

Спасибо

Зачем мне это нужно

Я работаю в среде, где есть репозитории с несколькими проектами, так что для одного проекта требуется источник другого (извлеченный в один и тот же каталог). Сложность состоит в том, что определенные файлы с одинаковым путем / именем существуют в обоих репозиториях, и в некоторых случаях проект будет использовать свой собственный, а в другом ему нужны другие репозитории (таким образом, определяя конкретный порядок замены извлеченного файла или нет на втором кассе репо). Перекрывающийся файл - это не фактический исходный код, а файл build / config, поэтому не имеет смысла переименовывать их по-другому.

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

Временное решение

Сейчас я работаю над этой проблемой, уточняя правила проверки последней проверки vcs, чтобы игнорировать определенные файлы, чтобы они не заменяли файлы, когда я этого не хочу. Было бы все еще полезно просто контролировать это по порядку проверок vcs.

Спасибо

1 ответ

Я бы использовал правила оформления заказа, поэтому каждый репо сам содержался в своей собственной папке без каких-либо шансов перекрывать содержимое с другими репо.

Для репо A VCS Root:

+:. => A

Для репо B VCS Root:

+:. => B

Для репо C VCS Root:

+:. => C

Который становится:

%system.teamcity.build.checkoutDir%/A

%system.teamcity.build.checkoutDir%/B

%system.teamcity.build.checkoutDir%/C

Другие вопросы по тегам