Я использую команду git diff, чтобы получить файл, который изменился между двумя последними коммитами и в зависимости от действия должен по-разному работать с файлами. Поэтому я должен извлечь действие над файлом и именем файла.
Для переименованного файла:
Ниже приведена команда git diff, которая переименована в файл swagger с swaggerA.json
на swaggerB.json
R100 swaggerA.json swaggerB.json
Это мой код:
$files=$(git diff HEAD~ HEAD --name-status)
$temp=$files -split ' '
echo $temp
echo $temp.Length
$name=$temp[1]
echo "this is $name file"
write-host $name
$output=$name.Split(' ')
$length=$output.Length
$output[0]
$output[1]
$output[$length-1]
Приведенный выше скрипт должен быть идеально разделен на 3 части:
1) R100
2) swaggerAjson
3) swaggerB.json
Но этого не происходит в задаче Powershell конвейера Azure, и каждый раз выдает всю строку.