Я пытаюсь написать сценарий сборки для проверки кода с помощью Powershell. Мне нужно иметь возможность заменить любые изменения, внесенные в рабочую копию, соответствующими изменениями из репозитория SVN. Это также включает удаление любых файлов, которые были удалены в репо, но не удалены в рабочей копии.
К сожалению, я не могу выполнить чистую проверку, поскольку было бы неэффективно проверять все 10 ГБ кода при каждом запуске скрипта сборки. Как мне это сделать?
Я пробовал что-то в этом роде:
&$SVN_EXE revert $workingPath
&$SVN_EXE update $workingPath
$x = &$SVN_EXE status $localPath --no-ignore | where {$_ -match "^[\?I]"} | %{$_ -replace "^[\?I]",""} # get the status, get any items with a ? and strip them out
$x | %{$_ -replace "[`n]",", "} # Replace newlines with commas
Remove-Item $x # Remove all the unversioned items
Кажется, я не могу сохранить вывод строки №3 в $ x, и я не совсем уверен, подходит ли это остальная часть.
Я не уверен, что это правильный путь, но если это так, я не могу сохранить и проанализировать вывод состояния SVN.
У кого-нибудь есть предложения? Спасибо!