Фильтр Visual Studio 2013 TFS объединяется только в файлы, которые фактически изменились

Я делаю слияние между двумя ветвями, и TFS/Visual Studio 2013 идентифицирует 1800 файлов, которые необходимо объединить. Однако различие между двумя ветвями показывает, что существует только ~ 100, которые на самом деле различны.

Окно ожидающих изменений в основном подтверждает это, так как все файлы перечислены с статусом [merge], кроме тех, которые фактически изменились; у них есть статус [merge, edit].

Есть ли способ отфильтровать список ожидающих изменений только для отображения файлов, которые действительно изменены, поэтому я могу проверить визуальные различия? Очень часто приходится прокручивать и вручную делать это, пропуская объекты, которые показывают только [merge].

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

Изменить: вот скриншот окна ожидающих изменений. Я только забочусь о элементах, которые [merge, edit], поскольку это означает, что есть изменение, и я хочу видеть diff. Конфликты будут отображаться в окне "Разрешить конфликты". Меня не интересуют элементы [merge], поскольку они идентичны. Есть 1000 файлов без изменений, но я хочу выделить те, которые изменились, и проверить diff.

PendingChangesWindow

Ответ 1

Есть инструмент, который достигает этого, "qbus vMerge" - плагин Visual Studio 2012/2013, доступный в галерее Visual Studio. Но это только бесплатно для командных проектов с участием до 5 зарегистрированных пользователей. В диалоговом окне предварительной проверки вы можете фильтровать изменения с помощью "Редактирование, удаление и добавление".

Ссылка: http://visualstudiogallery.msdn.microsoft.com/cb2f3f5b-7cea-4f2b-9d47-0e51b2619bd0

Исповедь: я один из участников.

Ответ 2

Вы можете выполнить слияние и перед проверкой файлов просто сравните свою папку с последней версией. Поэтому, если вы сходите из любого места в branch-Servicing, например, Compare $/branch-Servicing с your local workspace for that branch:

TFS Source Control Explorer Compare View for merge changes

Вы получите список всех бинарных файлов. С помощью простого двойного щелчка вы можете просмотреть diff.

Ответ 3

Если вы хотите просмотреть изменения all в слиянии, исключая слияние только без изменений, самый простой способ - запустить tf diff из командной строки VS. Это будет использовать инструмент diff для всех измененных файлов. Я считаю, что это показывает добавление, а также изменения. Я бы хотел, чтобы вы могли сортировать окно ожидающих изменений по типу действия изменения, как в предыдущих версиях.

Ответ 4

Я боролся с той же проблемой. ChangeType - это столбец, который был доступен в представлении списка ожидающих изменений в 2012 году. Я надеялся, что это будет добавлено к 2015 году, но такой удачи не было.

Вот способ командной строки сделать это против ожидающих изменений:

tf status {pathToWorkspace}/format: краткая/рекурсивная | find "," > c:\merge.txt

Пример:

tf статус c:\tfs\main/format: краткое/рекурсивное | find "," > c:\merge.txt

Это не очень, но, по крайней мере, он легко получает отфильтрованный список.

Ответ 5

Попробуйте следующий трюк: В Team Explorer, Ctrl + A все включенные изменения щелкните правой кнопкой мыши и выберите Отменить...

Появится диалог Отменить ожидающие изменения со всеми выбранными элементами. Прежде всего, снимите все. Затем обратите внимание, что у вас есть столбец с именем Изменить, и вы можете сортировать его, чтобы все слияния [Merge] складывались вместе, и вы можете проверить их все вместе и отменить только их одним щелчком мыши.

Ответ 6

Резюме: http://thesoftwarecondition.com/blog/2011/05/01/tfs-pending-changes-ignoring-files-which-are-identical-to-the-originals/

Метод 1: Электроинструменты TFS

Установите Power Tools TFS и выполните tfpt uu /noget /r * в корневой части ветки. В результате TFS проведет и отменяет проверки для любых неизменных файлов, оставив ваши измененные файлы нетронутыми.

Способ 2: Отменить покупку

Другим вариантом является "Отменить проверку" всех изменений и нажмите "Нет для всех", когда вас попросят подтвердить отмену проверки. Таким образом, Visual Studio будет "отменять проверку" всех файлов, которые не будут изменены, и все измененные файлы останутся проверенными. Недостаток: этот метод отменяет переименование.

Ответ 7

Мой вопрос будет, почему вас это волнует?

Если вы выполняете слияние, TFS будет определять во время выполнения, что файлы не нуждаются в модификации, и вы не увидите их как измененные в инструменте аннотации. Однако, если вы выбираете файлы для слияния, вы оставите кучу "ожидающих слияний", зависающих вокруг, и вам все равно придется иметь дело с ними позже...

Если есть конфликты, TFS выделит их вам для работы.

Если вам нужно сравнить перед объединением, вы можете использовать встроенный инструмент diff в Visual Studio, который позволит вам разделить ветвь (или просто папки) локально- > локальный, локальный- > сервер или сервер- > сервер.

введите описание изображения здесь