Что такое команда git для отображения различий в папках - PullRequest
0 голосов
/ 02 декабря 2018

есть команда git, которая перечислит только папки, которые отличаются между двумя ветвями.Мне нужно создать скрипт Powershell, чтобы определить, какие корневые папки были изменены, чтобы определить, какую VSTS Build следует запустить.Поэтому я перефразирую вопрос:

Мне нужно иметь возможность запускать программную команду, такую ​​как

git diff branchA..branchB | some-parser-that-outputs-a-list-of-root-folders

результат должен выглядеть так:

.\codebase1
.\codebase3
.\codebase5

1 Ответ

0 голосов
/ 03 декабря 2018

У Git нет кнопки для этого.Я не знаю, PowerShell, поэтому я дам ответ Баш.Чтобы перечислить деревья по частям (не рекурсивно), git ls-tree.Чтобы выбрать только папки, из вывода ls-tree grep ^04.Чтобы различать эти, отличайте их.В Linux это было бы что-то вроде

diff -u0 \
        <(git ls-tree branchA | grep ^04) \
        <(git ls-tree branchB | grep ^04)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...