У меня проблема с объединением ветки dev в основную ветку, когда файлы проекта .csproj в этих ветвях имеют ссылки на другие проекты в указанной ветке.Например, представьте следующую структуру управления исходным кодом TFS:
- Веб-проект 1 (командный проект TFS)
- Ветвь разработчика
- Основная ветвь
- MyWebsite.csproj
- Веб-проект 2 (командный проект TFS)
- Dev Branch
- Main Branch
- Проект базы данных (командный проект TFS)
- Ветвь разработчика
- Основная ветвь
- MyDatabase.csproj
- Другая общая библиотека (групповой проект TFS)
- Dev Branch
- Основная ветвь
На самом деле структура немного сложнее, чем приведенная выше.Есть больше проектов, которые имеют ту же структуру филиалаКонечно, проблема, которая должна быть решена, одна и та же.
Ветви Dev проекта веб-сайта ссылаются на ветки базы данных и общих проектов Dev, а основные ветви проекта веб-сайта ссылаются на базу данных и основные ветви Common Project.Например, ссылка в файле MyWebsite.csproj может быть такой:
<ProjectReference Include="..\..\Database Project\Dev Branch\MyDatabase.csproj">
<Project>{312ced42-f890-4d64-b27d-9ae53a42304c}</Project>
<Name>MyDatabase</Name>
</ProjectReference>
Итак, вы вносите изменения в ветви dev, а файлы .csproj в ветви dev правильно ссылаются на другие.файлы csproj в ветке dev;но когда вы собираетесь объединить ветку dev с основной веткой, файлы .csproj пытаются обновить ссылки из ветки trunk на ветку dev.
Как лучше всего решить эту проблему, чтобыкогда вы объединяетесь из dev в trunk, транковые проекты по-прежнему правильно ссылаются на другие транковые проекты и не обновляются до ссылок на dev-ветки?
edit в поисках ненулевого предложения иЯ не могу объединить их под одной ветвью, потому что фактическая структура гораздо сложнее, чем указано выше.Есть 3 отдельных веб-приложения в 3 отдельных командных проектах TFS, которые ссылаются на несколько из этих общих библиотек, которые также находятся в своих собственных проектах TFS.И тогда у каждого из этих командных проектов есть dev и основные ветки.