Подтвердить что ты не робот

Унифицированный Diff в TFS

Кто-нибудь знает, возможно ли это (создание единого diff), и если да, то как?

Спасибо.

4b9b3361

Ответ 1

Это tf diff /shelveset:<set> /format:unified. Однако обратите внимание, что в отличие от большинства современных систем управления версиями, TFS не может работать с файлами патчей afaik. То есть вы не можете взять результат diff и применить его к набору файлов для получения полученных изменений. (То, что большинство людей делает, - это zip файлы, которые были изменены, и заменяют и заменяют их как "патч". Ick.)

Ответ 2

Это то, что я обычно делаю:

  • Создайте унифицированный diff из командной строки tf, чтобы получить файл патча

    tf diff /recursive /format:unified .  >> diff.patch 
    
  • Загрузите утилиту patch из http://gnuwin32.sourceforge.net/packages/patch.htm

  • Применить патч с помощью

    patch.exe -p0 < diff.patch
    

Очевидно, это предполагает, что исходные файлы уже извлечены. Если это не так, особенно когда вы применяете исправления по ветвям, напишите простую оболочку script, чтобы просмотреть файл diff, получить путь к файлам и отредактировать их.

Ответ 3

Это текущая функция diff (pardon the pun) с SubVersion и другими, то есть распознанная Microsoft. Я считаю, что скоро появится решение, но до тех пор я придумал решение:

  • Создайте приложение форм Windows, которое будет принимать 4 поля в качестве параметров командной строки (filepath1, label1, filepath2, label2) и возвращает строчную унифицированную разницу двух файлов (может быть, выводится в богатое текстовое поле или что-то еще), У меня есть один, но я немного грубо отношусь к CodePlex. Существует несколько управляемых библиотек Diff.

  • Установите функцию сравнения элементов управления Visual Studio Source, чтобы указать на ваше приложение diff. Убедитесь, что он открывается и сравнивается правильно.

  • Создайте приложение для установки форм Windows, которое применит патч к папке. Приложение также должно проверять каждый файл по мере его исправления (забава!).

  • Настройте две рабочие области, обычную и MyWkSpace_PATCH. Это используется для исправления.

Мне еще нужно закончить 3-ю строчку, но это даст мне несколько схожую функциональность с SubVersion. Позволяет вам знать, как идет точка 3!