Принудительное сравнение файлов при слиянии в Visual Studio 2008 - PullRequest
4 голосов
/ 04 февраля 2010

В настоящее время, когда я щелкаю правой кнопкой мыши -> Объединить определенный файл в Visual Studio 2008, он пытается (и часто успешно) автоматически объединяет файл с указанной целью.

Как заставить VS всегда разрешать мне вручную сравнивать и объединять файл в моем инструменте слияния?

Я должен упомянуть, что мой источник контроля - TFS.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2011

Попробуйте использовать командную строку с флагом / conservative. Скорее всего, вы сможете объединить свои изменения в инструменте объединения.

/ conservative -> приводит к большему количеству конфликтов при слиянии одной ветви с другой.

0 голосов
/ 07 февраля 2010

Здесь на самом деле есть две потенциальные проблемы:

  1. В рамках вычисления слияния сервер определяет, что с целевым файлом не было внесено никаких изменений с момента последнего использования этих двух файлов.полностью синхронизирован.Поэтому безопасно (в любом случае по семантике TFS) просто перезаписать целевой файл.

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

    • Вы можете оставить исходный или целевой объект как есть.
    • Вы можете выбрать ручное слияние в настроенном вами инструменте.
    • Вы можетезапросить автоматическое слияние (через tf resol -auto: acceptmerge , или кнопку Auto Merge All во внешнем диалоге, или радиокнопку «объединить изменения для меня» во внутреннем диалоге)
      • Если AutoMerge дает сбой, вам будет предложен тот же выбор, за исключением того, что AutoMerge будет выделен серым цветом

Вы ничего не можете сделать с ситуацией# 1.Это действительно должно быть безопасно, если только в серверном коде нет серьезного исправленного дефекта, повреждения в базе данных истории или [наиболее вероятно] ваших предыдущих вариантов разрешения, которые сильно вводят TFS в заблуждение относительно ваших истинных намерений.В худшем случае у вас всегда есть шанс построить и запустить тесты против ожидающего слияния, прежде чем что-либо будет проверено.

Как вы можете видеть, в ситуации # 2 есть много складок.Неясно, какой этап этого процесса вы хотите запретить, если таковой имеется.Хорошей новостью является то, что после передачи управления клиенту у вас появляется широкий (и легко расширяемый) выбор.Только сложная часть - убедиться, что вы понимаете последствия каждого;по общему признанию, ни интерфейс, ни документация не совсем понятны в этом отношении.При необходимости ответьте более подробно о вашей проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...