Необоснованное объединение для нескольких непоследовательных наборов изменений

Я выдаю следующую команду в TFS:

>tf merge /baseless c:\ws\source c:\ws\target /recursive /version:C100~C100

Но у меня есть большой список наборов изменений, которые необходимо объединить. Есть ли для этого ярлык или какой-то способ указать список, например:

>tf merge /baseless c:\ws\source c:\ws\target /recursive /version:C100,C108,C110,C800,C1001,etc...

3 ответа

Решение

Если опция powershell является опцией, нижеприведенный скрипт должен помочь (не проверено!):

$cslist = 1,23,45,456,568 #list of all changesets
foreach ($cs in $cslist) { & 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' merge /baseless c:\ws\source c:\ws\target /recursive /version:C$cs }

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

У вас есть пара вариантов:

  • Если вам известны наборы изменений, которые вы хотите объединить (или наборы изменений, которые вы хотите избежать слияния), вы можете выбрать папку вверх по структуре из файлов, которые вы хотите объединить, затем выполните объединение, выбрав конкретные наборы изменений, которые вы хотите. Это немного сложно, если у вас есть наборы изменений 2000,2001,2004, 2010 и вы хотите 2001 и 2010. Вы можете объединять только последовательные наборы изменений в списке за объединение, поэтому вам придется объединить 2001, а затем 2010. Это все же лучше, чем объединение много файлов, если у вас есть больше файлов, чем группы ревизий.
  • Если вы хотите объединить все в этой папке до определенного набора изменений или самого последнего набора изменений, вы можете сделать это за одно массовое объединение.

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

ОП: объединить несколько файлов в TFS

Следующее расширение претендует на это:

Инструменты повышения производительности TFS - Extended Merge 2012

Расширение ExtendedMerge предоставляет обходной путь для нескольких функций слияния, не реализованных TFS:

  1. Слияние TFS приводит к массовой регистрации, которая помещает файлы из всех предыдущих наборов изменений в один большой набор изменений слияния.
  2. TFS допускает только последовательные изменения, проверенные в процессе слияния.
  3. TFS не позволяет выбирать наборы изменений для слияния вишни-пика, выбирая рабочие элементы.
  4. Диалог слияния TFS не имеет опций "сила" и "безоснование".

Возможно, вы также захотите повысить эту функцию в голосе пользователя Visual Studio.

Другие вопросы по тегам