Jor*_*dan 3 svn version-control powershell scripting windows-scripting
我正在尝试编写一个构建脚本来使用Powershell检出代码.我需要能够使用SVN repo中的相应更改替换对工作副本所做的任何修改.这还包括删除在回购中删除但未在工作副本中删除的任何文件.
不幸的是,我不能做一个干净的结账,因为每次运行构建脚本时检查所有10GB的代码是低效的.我该怎么做?
我一直在尝试这些方面:
&$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
Run Code Online (Sandbox Code Playgroud)
我似乎无法将第3行的输出存储到$ x中,我不太确定其余部分是否可以实现.
我不确定这是否是正确的方法,但如果是,我似乎无法存储和解析SVN状态的输出.
有没有人有什么建议?谢谢!
如果要从工作目录中删除未跟踪和忽略的文件,请尝试以下操作:
svn st --no-ignore | %{ if($_ -match '^[?I]\s+(.+)'){ $matches[1]} } | rm -whatif
Run Code Online (Sandbox Code Playgroud)
-whatif一旦确认它正在执行您想要的操作,请将其删除.
| 归档时间: |
|
| 查看次数: |
1642 次 |
| 最近记录: |