Фильтр 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, который позволит вам разделить ветвь (или просто папки) локально- > локальный, локальный- > сервер или сервер- > сервер.
![введите описание изображения здесь]()