Share via


Команда Folderdiff (система управления версиями Team Foundation)

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

Visual Studio 2019 | Visual Studio 2022

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

Необходимые компоненты

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

Синтаксис

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

Параметры

Аргументы

Argument

Description

<sourcePath>

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

<targetPath>

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

<filter>

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

<TeamProjectCollectionUrl>

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

<username>

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

Параметры

Параметр

Description

/recursive

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

/noprompt

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

/filter

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

/filterLocalPathsOnly

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

/view

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

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

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

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

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

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

/collection

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

/login

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

Замечания

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

Следующие шаги