2010-02-22 2 views
1

В нашем случае мы хотим изменить игоноре в заголовках комментариев кода для сгенерированного кода. В Visual Studio мы можем изменить инструмент слияния (GUI, который появляется) и использовать сторонний инструмент, который может быть настроен для игнорирования изменений (http://msdn.microsoft.com/en-us/library/ms181446.aspx). Отлично, поэтому сравнение файлов больше не выделяет комментарии к коду как различия.в TFS мы можем настроить алгоритм слияния (разрешение конфликтов)

Однако, когда приходит время проверки, алгоритм слияния TFS по-прежнему вызывает необходимость разрешения конфликтов.

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

+0

FYI: теперь у нас есть «Улучшения слияния в TFS 11», см. Http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx –

ответ

3

Нет. Но это действительно хороший ответ для вашего сценария. Когда TFS блокирует checkin, это происходит не потому, что он использует diff любого типа: это потому, что ваша локальная версия # не соответствует последней версии #. Другими словами, кто-то еще проверял промежуточный период, так как вы последний раз запускали конфликты Get + разрешенные файлы, используя свой собственный инструмент слияния. Идентификация этих случаев - жизненно важная функция на стороне сервера, которая не может и не должна быть отключена, поскольку она не может быть надежно обнаружена любым инструментом слияния (в том числе встроенным в клиентский API TFS).

Назад к вопросу, почему это хорошо: как только диалог конфликтов снова появится, вы можете разрешить дополнительные конфликты в своем обычном инструменте, как обычно. Ни в коем случае не вызывается встроенный механизм текстового слияния. * Процесс все еще полностью находится в вашем распоряжении. Вам все равно нужно выбрать «победитель» [или создать новый из доступных входов], даже если файлы семантически идентичны в соответствии с вашим инструментом. Но это ничем не отличается от любого другого сценария Resolve, такого как, по-видимому, вы уже обрабатывали.

* ok, я солгал. Он используется для генерации сводки «X added, Y deleted ...», которую вы видите в диалоговом окне. Точка, это не, участвующий в идентификации конфликтов версий, так и не будет изменять какие-либо файлы, если вы не попросите его («слить изменения для меня»).

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