Команда 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