Стратегии ветвления и слияния TFS - PullRequest
3 голосов
/ 19 апреля 2011

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

В настоящее время есть ветвь MAIN и ветвь DEV, которая является дочерней по отношению к MAIN.Изменения обрабатываются в ветви DEV, а затем объединяются в MAIN, когда они готовы.Это делается путем слияния «вишни».Я везде читал, что вишневые слияния плохи, и вы должны избегать их, когда это возможно.

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

Любая помощь приветствуется.

Если я опущу какую-либо ключевую информацию, пожалуйста, оставьте комментарий, и я отредактирую свой пост.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2011

Я думаю, что эта документация Codeplex очень поможет:

http://tfsbranchingguideiii.codeplex.com/

В загрузке есть несколько PDF-файлов, в которых излагаются различные сценарии и стратегии, а также предлагаются отличные вопросы и ответы по различным подходам.

Ключом для вашего сценария будет объединить все изменения до указанной версии из Dev в Main. Запускайте все тесты каждый раз, когда код проверяется в Dev (и разработчики получают последний код Dev, а затем запускают все тесты перед регистрацией). В идеале, если сборка в ветке Dev прошла успешно после регистрации Dev, объединение с Main было бы хорошей идеей. Часто выполняйте слияние с Dev на Main и запускайте все тесты в Main после каждой регистрации.

Таким образом, даже несмотря на то, что разработчики работают индивидуально над конкретными частями, после того, как они проверяют ветку Dev, они по сути говорят: «Этот код готов к интеграции». А при слиянии от Dev до Main вы больше не имеете дело с конкретными частями - вы объединяете целую энчиладу. Если разработчикам требуется контроль исходного кода для рабочего кода, им следует использовать наборы полок TFS и подождать, чтобы проверить Dev, пока они не «закончили».

2 голосов
/ 16 сентября 2011

Вам может понравиться инструмент MergeMagician от Timpani Software.Это решение для управления филиалами и автоматического слияния, которое работает с TFS (а также с Subversion).Вы создаете отношения публикации / подписки между ветвями, а затем сервер автоматизирует слияния.

MM может использоваться для реализации всех этих шаблонов, описанных в Руководстве по ветвлению TFS, о котором упоминал Шон.

FYIЭто коммерческий инструмент.Я не знаю ни одного инструмента с открытым исходным кодом, который бы делал что-то подобное, работающее с TFS.

Проверьте это на http://www.timpanisoftware.com. На главной странице есть хорошее обзорное видео.

...