Принудительно объединить TFS после разрешения конфликтов. - PullRequest
17 голосов
/ 31 мая 2011

TFS 2010, VS 2010

В TFS существует ситуация, когда разработчик не выполняет надлежащую процедуру слияния.Когда я запускаю сравнение его директории разработчика с транком, я получаю ряд файлов, помеченных как разные или вообще не в транке.Последнее слияние / регистрация в транке было им 2011-05-26, а его последняя регистрация в его ветке разработчика была 2011-05-25.

Я считаю, что происходят две вещи:

  1. Он не обновляет свою ветку dev из trunk правильно (мы требуем, чтобы разработчики объединили trunk -> dev branch и скомпилировали перед объединением dev -> trunk)

  2. Он не разрешает конфликты слияния правильно

Проблема в том, что как только он помечает конфликты как разрешенные, последующие слияния игнорируют эти различия.Мне нужно принудительно выполнить слияние, которое пересматривает отличия от всего файла, чтобы я мог вручную обновлять каждое внесенное им изменение.

Как я могу это сделать?

Ответы [ 2 ]

17 голосов
/ 31 мая 2011

Вам нужно перейти в командную строку и использовать tf merge /force например. tf merge $/TeamProject/DevBranch $/TeamProject/Trunk /force Это должно делать то, что вы хотите.

для получения дополнительной информации попробуйте tf msdn, который откроет браузер и откроет вам интерактивную справку для командных инструментов tf.

/recursive исправляет все и отображает графический интерфейс для конфликтов.

10 голосов
/ 16 ноября 2013

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

tf merge /recursive /force /version:C5367 "$/Source" "$/Target"
...