2015-01-29 8 views
0

Мы в настоящее время работает несколько филиалов в TFS 2013:Как я могу предотвратить automerge отдельных файлов

Development 
Release 
Trunk 
etc. 

Каждая ветвь имеет автоматизированную тестовую сборку. Цель этих сборников - опубликовать последний код (и изменения базы данных) для каждой ветки на нашем тестовом сервере для ручного тестирования. Мы поддерживаем отдельное приложение IIS для каждой ветки, чтобы разные версии могли тестироваться одновременно.

Каждая ветка имеет уникальный профиль .csproj, .xml и web.config, которые контролируют, к какому приложению и базе данных каждая ветвь развертывается, что отлично работает.

Однако, когда мы сливаемся из одной ветви в другую, автоматическое слияние заменяет эти конкретные настройки ветви, заставляя нас развернуть наши тестовые сборки с неправильным URL-адресом и базой данных.

Я знаю, что автоматическое слияние может быть полностью отключено в настройках Visual Studio, но есть ли способ, которым мы можем продолжать использовать автоматическое слияние, за исключением определенных файлов?

Любые предложения приветствуются

+0

Почему голос? – gareththegeek

ответ

1

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

http://nakedalm.com/building-release-pipeline-release-management-visual-studio-2013/

С бинарной модели продвижения вы строите биты один раз со сменными параметрами и создать или использовать инструмент, который дирижирует релиз и кормит его с нужными переменными для каждой среды.

http://nakedalm.com/create-release-management-pipeline-professional-developers/

Я недавно построенный из конец закончить сценарий с использованием ВСО. Вы можете видеть в сообщении прохождение значений для каждой среды.

Индустрия программного обеспечения стремится к непрерывной доставке и непрерывной интеграции. Ни одна из них не возможна в модели продвижения кода.

0

Вы можете отключить автоматическое разрешения конфликтов при слиянии, но в этом случае вы должны разрешить эти конфликты вручную (игнорировать)

Параметры -> Source Control -> Visual Studio Foundation Team Сервер Попытаться автоматически разрешать конфликты, когда они генерируются

или вы могли бы использовать tf.exe для слияния:

tf.exe merge /discard CS 

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

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