#tfs #merge #branch #project #parent
#tfs #слияние #ветка #проект #родительский элемент
Вопрос:
У меня следующая структура:
$/ProjectA [Использует шаблон MS Agile]
—Branch1
$/ProjectB [Использует пользовательский гибкий шаблон]
— [Будет создана ветка]
Как я могу создать эту новую ветку в ProjectB, которая имеет родительскую связь с $/ProjectA/Branch1?
В нашем требовании говорится, что мы не можем работать в одном проекте, потому что мы должны использовать разные шаблоны, но мы все равно хотим объединить код из нового проекта обратно в ProjectA. Я проверил опцию в TFS при создании нового проекта, который позволяет использовать существующий элемент управления версиями, но проблема с этим:
1. Нет возможности добавлять определенные ветки в проект [все или ничего]
2. По какой-то причине я не могу переименовать эту новую ветку в новом проекте
Я понимаю, что этого можно достичь, используя необоснованное слияние между этими 2 проектами, но я хотел бы знать, есть ли еще способ обеспечить плавное слияние между этими 2 ветвями в разных проектах.
P.S: мы используем VS 2010 с TFS 2010
Ответ №1:
Не должно быть никаких проблем при простом переходе от одного командного проекта к другому. Вы должны быть в состоянии сделать это так же, как и в любой другой ветке: просто выберите $/ProjectA/Branch1
, выберите ветку и введите целевой путь ветки $/ProjectB/ToBeCreatedBranch
.
Это связано с тем, что на самом деле командные проекты имеют довольно ограниченный охват в системе управления версиями TFS — она в первую очередь рассматривает дерево управления версиями как большую иерархию, начинающуюся с $/
, а командные проекты не являются чем-то особенным, за исключением некоторых очень специализированных операций. (Политики возврата запрашиваются Team Project, как и настройки для locklevels, а метки привязаны к командным проектам.)
Мне немного неясно, какие параметры управления версиями вы указали при создании нового командного проекта — вы должны были просто создать для него новый узел дерева исходных текстов, а затем вы можете создавать свои ветви проекта ниже $/ProjectB
.
Комментарии:
1. Дух !, Я чувствую себя идиотом сейчас, не понимал, что вы даже можете изменять проекты при ветвлении. Спасибо за быстрый ответ. Конечно, теперь я могу даже переименовать новую ветку в $/ProjectB.
2. Это не очевидно — некоторые части TFS (например, рабочие элементы) очень специфичны для командного проекта, в котором они находятся, и не обязательно могут быть легко перемещены. Просто повезло, что контроль версий не так ограничен!