2010-09-28 2 views
3

В TFS 2010 у нас есть ветка разработки, где все разработки выполняются для одного продукта. Я хочу объединить некоторые из этих изменений в ветку кандидат-релиз, чтобы ее можно было протестировать и выполнить. Поэтому я хотел бы объединить все изменения, связанные с конкретными рабочими элементами, которые мы хотим поместить в кандидат на выпуск.Объединить изменения для конкретного рабочего элемента

Я могу отслеживать все изменения для определенного рабочего элемента, но я не могу легко объединить их в RC-ветку. Я не могу ни перетащить несколько изменений в виде отслеживания иерархии, ни предварительно выбрать набор изменений в Мастере слияния. По умолчанию он всегда хочет объединить все панели управления UP с перетаскиваемым, что определенно не то, что я хочу. Поскольку это могут быть десятки наборов изменений, я не хочу выбирать их вручную.

Есть ли способ сделать это «правильным» способом?

ответ

3

Что вы говорите, это слияние «вишневого». В целом, слияния вишни не являются лучшей практикой, поэтому, если вы думаете, что это произойдет много, вы, вероятно, должны вернуться к своей стратегии ветвления (например, ветвь по функции, по сравнению с веткой в ​​выпуске). Затем вы можете просто объединить целые ветви вместо того, чтобы делать вишневый подбор.

Вы обнаружите, что TFS не поддерживает этот тип слияния очень хорошо. Когда вы объединитесь в наборе изменений, он объединит все файлы и включит этот набор изменений. Вам может быть в состоянии уйти с маркировкой файлов в конкретных наборах изменений и слиянием на основе метки, но я сомневаюсь, что это сработает.

У нас была ситуация в моей организации, где нам нужно было поддерживать этот тип функциональности. В конечном счете, мы написали утилиту, которая позволяет нам выбирать файлы из нескольких наборов изменений и объединять их с веткой. Код для этого достаточно прост.

+1

В дополнение к Robaticus, пересмотрите свою стратегию выпуска. Я бы посоветовал развернуть все функции в релизе до кандидата на выпуск, так что вы также выполните тест интеграции в своем приложении. –

+0

Спасибо, ребята, мы, наконец, пришли к такому же выводу. Теперь нам нужно найти альтернативу нашей текущей ветвящейся стратегии. Но я боюсь иметь десятки филиалов. Одним из способов может быть удаление ветки после ее объединения в главный dev. Кроме того, мы могли бы создавать ветки функций для тех функций, которые не могут быть включены в следующую версию, но должны быть запущены уже. – JensMig

+0

Мы буквально потратили месяцы, решив стратегию ветвления. Это была самая сложная часть внедрения TFS. – Robaticus

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