Я знаю, что это старый, но вам нужно выбрать ветку в Source Control Explorer, затем нажмите File (в главном меню) -> Source Control -> Branching and Merging -> Convert to Folder. Эта опция недоступна в контекстном меню.

я проблемы с пониманием того, как настроить TFS в соответствии с рекомендациями, предоставленными командой TFS Ranger. Вопрос такой:

У моей компании есть несколько продуктов, которые используют общую базу общего кода.

> $/Core
>  -> /Main/Source (Parent Branch)
> 
> $/Product1
>  -> /Main/Source
>  -> /Main/Source/Core/Source (Child Branch from $/Core)
>  -> /Main/Source/...
> 
> $/Product2
>  -> /Main/Source
>  -> /Main/Source/Core/Source (Child Branch from $/Core)
>  -> /Main/Source/...

Поэтому у нас есть одна командная коллекция и, скажем, три командных проекта для этого примера. ($ / * это командный проект)

Наше начальное ветвление релиза немного болезненно. Вместо разветвления в / Main to / Releases или / Main to / Development мы разветвляли каждый проект по отдельности.(Не командный проект ... проект решения.)

Это связано с невозможностью иметь вложенные корни ветвей. (См. Ошибки TFS:TF203028 и TF203071)

Согласно TFS Ranger Guide и нашему пересмотренному подходу к ветвлению выпусков, исправлений, разработок, мы должны переходить из / Main, а не / Main / Source / Proj1, / Proj2, / Proj3 и т. Д. Это просто стало довольно большим раздражением.

В идеале мы хотели бы:

> $/Product1
> -> /Main/ (Branch - Parent)
> -> /Releases
>    -> /1.x
>       /1 Service Pack (Child Branch from $/Product1/Main
>       -> /1.0
>          -> /1.0 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
>          -> /1.0 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
>          -> /1.0.22 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
>       -> /1.5
>          -> /1.5 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
>          -> /1.5 RTM (Child Branch from $/Product1/Releases/1.x/1.5/1.5 Hotfix - Read Only)

Решения: 1. Мы можем преобразовать каждую общую ветку (т.е. $ / Core) обратно в обычные папки. Таким образом, ни одна папка в / Main не является корнем ветки. Затем мы можем выполнить безосновательное слияние из $ / Product1 / Main / Source / Core / Source обратно в родительский $ / Core / Source.

Есть кто-нибудь опыт с необоснованными слияниями. Я прочитал в Microsoft, что это исключения, которые не должны быть обычным явлением. MS заявляет, что если вы правильно настроите свои проекты с TFS, вам никогда не потребуется выполнять необоснованное слияние.

Как это возможно при ветвлении между командными проектами?!? В любом доме разработки программного обеспечения должно быть обычным делить библиотеки между продуктами.

Я открыт для других решений тоже.

Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос