Powershell を使用してコードをチェックアウトするためのビルド スクリプトを作成しようとしています。作業コピーに加えられた変更を、SVN リポジトリからの適切な変更に置き換えることができる必要があります。これには、リポジトリでは削除されたが作業コピーでは削除されていないファイルの削除も含まれます。
残念ながら、ビルド スクリプトを実行するたびに 10 GB のコードすべてをチェックアウトするのは効率が悪いため、クリーンなチェックアウトを行うことはできません。どうすればいいですか?
私はこれらの行に沿って何かを試してきました:
&$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ステータスからの出力を保存および解析できないようです。
誰か提案はありますか?ありがとう!