2012-02-07 5 views
3

я получил автоматизированную сборку в TFS 2010 со следующей рабочей области:TFS 2010 Build получить часть рабочего пространства базируется на этикетке

$/Program 1 $(SourceDir)\Program 1 
$/Core  $(SourceDir)\Core 

тогда я построю как основные проекты и программы 1 конкретные проекты, как часть сборки. Однако при исправлении ошибок для предыдущей версии мне нужно получить конкретный ярлык основных файлов, но последний для файлов программы 1. Как я могу изменить рабочую область только для каталога Core, чтобы получить ярлык вместо того, чтобы получать последние.

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

ответ

1

У вас есть решение, которое импортирует код из разных TeamProjects.
Это не совсем оптимальная настройка, один более гибкая альтернатива может быть следующей:

$/Program1 
    /SharedSources 
     /Core_branch 
      Core.csproj 
    /Sources 
     /Program1 
      Program1.csproj 
     /Program2 
      Program2.csproj 
     Sources.sln 

Если у вас настроить вашу SCM-структуру, как это, вы просто должны определить, что в вашем определении сборки:
$/Program1 $(SourceDir)

Итак, если у вас возникла проблема с прошлой версией Program1, вы можете продолжить ветку исправления, но не столкнуться с текущим вызовом. Отличный ресурс для общего разветвления TFS & Формирование решения в управлении источником можно найти here.

На Ваш вопрос «Как я могу изменить рабочее пространство только для директории ядра, чтобы получить на этикетке вместо получения последней.»:
В вас есть рабочая станция/Workspace, вы могли бы получить прошлую версию & затем используйте Cloak, чтобы исключить Core из следующего GetLatest. Это может позволить вам провести анализ, даже создать полки, содержащие изменения в пределах Program1, которые исправляют любые ошибки.
Но, поскольку клонирование не может использоваться во время сборки (см. here для интересного сообщения), я считаю, что вам в конечном итоге нужно приступить к ветке, чтобы получить исправления.

+0

Я согласен с тем, что макет решения не идеален. Однако мы также не обязательно хотим иметь филиал для каждой программы; большинство программ используют одну и ту же базовую версию. Спасибо за ссылки на ветвящийся документ, я прочитаю их для будущих улучшений в макете папок. – Ezweb

Смежные вопросы