Поделиться через


Команда Folderdiff (Team Foundation Version Control)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Используйте команду TFVC folderdiff для отображения и сравнения визуального представления различий между файлами в двух папках сервера, в папке сервера и локальной папке или в двух локальных папках.

Необходимые условия

Чтобы использовать команду , укажите разрешение для Разрешить. Дополнительные сведения см. в разделе разрешения TFVC по умолчанию.

Синтаксис

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]

Параметры

Аргументы

аргумент

описание

<sourcePath>

Локальный или серверный путь к источнику в операции сравнения. Если этот аргумент не указан и targetPath является локальным сопоставленным путем, sourcePath — это путь к серверу, с которым он сопоставляется.

<targetPath>

Локальный или целевой путь сервера в операции сравнения.

<filter>

Список масков фильтров включения и исключения с запятой для параметра /filter. Значение по умолчанию — *или включает все. Подробные сведения о фильтрах и масках см. в примечаниях.

<TeamProjectCollectionUrl>

URL-адрес коллекции проектов, содержащей файлы, для которых требуется отобразить и сравнить различия, например http://myserver:8080/tfs/DefaultCollection.

<username>

Предоставляет значение для параметра /login. Можно указать значение имени пользователя как DOMAIN\username или username.

Параметры

параметра

описание

/recursive

Необязательный. Полностью сравнивает две папки рекурсивно.

/noprompt

Необязательный. Выполняется без отображения выходных данных в окне папок Visual Studio. В окне командной строки отображаются выходные данные.

/filter

Необязательный. Задает список маски включения и фильтрации, которые используются для сравнения имен файлов и папок.

/filterLocalPathsOnly

Необязательный. Указывает, что фильтруются только локальные пути, если соответствующий путь к серверу не существует.

/view

Необязательный. Указывает, какие сведения следует включить в выходные данные с помощью разделенного запятыми списка следующих значений:

  • same отображает файлы с одинаковым содержимым в исходных и целевых каталогах.

  • different отображает файлы с различным содержимым в исходных и целевых каталогах.

  • sourceOnly отображает файлы, которые существуют только в исходном каталоге.

  • targetOnly отображает файлы, которые существуют только в целевом каталоге.

Значение по умолчанию — different,sourceOnly,targetOnly.

/collection

Указывает коллекцию проектов.

/login

Указывает имя пользователя и пароль для проверки подлинности пользователя с помощью Azure DevOps.

Замечания

В окне командной строки отображаются выходные данные при указании /noprompt. В противном случае в окне "Разница в папках" Visual Studio отображаются выходные данные.

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

Выходные данные, отображаемые в окне командной строки, перечисляют все файлы в папках в следующих пяти разделах:

  • Элементы, которые существуют только в папке сервера.
  • Элементы, которые существуют только в локальной папке.
  • Элементы, имеющие другое содержимое.
  • Элементы с одинаковым содержимым. Необходимо указать аргумент same с параметром /view.
  • Сводка.

Фильтры файлов и папок

Фильтр — это упорядоченный список маски имен, используемых для сравнения имени файлов и папок. Маски могут содержать знак вопроса ? подстановочным знаком, чтобы соответствовать точно одному символу, а звездочка * подстановочным знаком, чтобы соответствовать нулю или нескольким символам.

Маски в фильтре разделяются точкой с запятой ;. Маски папок должны заканчиваться обратной косой чертой \. Чтобы указать маску исключения, префикс маски с восклицательным знаком !.

Фильтр применяется к именам файлов и папок с помощью следующих правил:

  • Если фильтр задает маски файлов и папок, маски файлов и папок разделены на список маски файлов и список маски папок. Маски файлов применяются только к именам файлов. Маски папок применяются только к именам папок.

  • Чтобы сопоставить имя файла или папки, команда сравнивает имя с каждой маской в фильтре в указанном порядке. Как только имя совпадает с маской, имя считается совпадением.

  • Если маски файлов в фильтре содержат маску включения, файлы, которые не соответствуют маске файлов, исключаются.

  • Если маски файлов в фильтре содержат только маски исключений, файлы, которые не соответствуют маске файлов, включаются.

  • Если маски папок в фильтре содержат маску включения, папки, не соответствующие маске папок, исключаются.

  • Если маски папок в фильтре содержат только маски исключений, папки, которые не соответствуют маске папок, включаются.

В следующей таблице перечислены примеры маски имен фильтра.

маски имен описание
*.cs Соответствует всем файлам C#.
My*.bmp Соответствует всем растровым файлам, начинающимся с My.
!*.exe Исключает все исполняемые файлы.
!objd\ Исключает все папки objd.

В следующей таблице перечислены примеры фильтров.

фильтр описание
*.cs;!objd\;!obj\;!bin\ Соответствует всем файлам C#, кроме тех, которые в objd, objили bin папках.
!*.resx;!*.ini;!resources\;!*junk*\ Исключает все RESX и .ini-файлы, все файлы в папке ресурсов и все файлы в любой папке с именем, включающей слово нежелательной.

Дополнительные сведения об использовании служебной программы командной строки tf см. в разделе Использование команд управления версиями Team Foundation.

Примеры

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

tf folderdiff $/<serverFolder> F:\<localFolder> /recursive /noprompt

Дальнейшие действия