Я знаю, что это старый, но вам нужно выбрать ветку в 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, вам никогда не потребуется выполнять необоснованное слияние.
Как это возможно при ветвлении между командными проектами?!? В любом доме разработки программного обеспечения должно быть обычным делить библиотеки между продуктами.
Я открыт для других решений тоже.
Спасибо!