2010-10-11 2 views
12

alt text, как объединить две ревизии только (TFS)

Вы видите 162489 и 162990, Как я могу объединить их?

+2

Непонятно, что вы хотите делать с этими наборами изменений. Вы хотите только объединить изменения в этих наборах изменений в другую ветку, не игнорируя все другие изменения? – Robaticus

+0

См. Http://stackoverflow.com/a/22729936/67824 –

ответ

23

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

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

С помощью инструмента командной строки tf вы указываете диапазон версий, разделив версию на тильд-символ.

tf merge /recursive /version:C162489~C162990 "$/SourceBranch" "$/TargetBranch" 

В этом случае также будут внесены изменения 162987 и 162967.

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

Чтобы объединить две отдельные ревизии в другой ветви вам придется сделать это в два этапа:
слияния 162489, а затем 162990 (начните с сливая старую ревизию в случае, если оба содержат изменения Изменения в одних и тех же файлов).

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

+11

Одна проблема здесь. Если вы сначала объедините 162489, вы НЕ МОЖЕТЕ объединить 162990, если вы сначала не проверите 162489. –

2

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

6

Попробуйте

tf merge /recursive /version:C162489~C162489 "$/SourceBranch" "$/TargetBranch" 
tf merge /recursive /version:C162990~C162990 "$/SourceBranch" "$/TargetBranch" 

Если у вас нет изменения коды конфликта в этой ревизии TFS 2010 сольются последовательные слияния.

+2

Большое спасибо! Я не знал, что если я захочу объединить один предметный шкаф, я также должен указать его как диапазон (если я просто поставлю полки, он, похоже, объединит накопленные изменения). –