1
试图通过使用PowerShell脚本来自动执行早晨更新多个颠覆工作副本的仪式。该svn update工作正常,但它很好挂钩到SvnUpdateResult显示更改或任何冲突。如何连接PowerShell中的SharpSvn.SvnUpdateResult
我已经尽可能为更新结果指定输出参数,但不知道如何克服模糊的重载异常?我已经指定的参数类型:
try {
Add-Type -Path "C:\Program Files\SharpSVN\SharpSvn.dll"
}
catch [System.BadImageFormatException] {
Write-Host "LFMF: You're probably using 32bit SharpSVN.dll in 64bit powershell ;-)"
}
$paths = @("Project-Trunk", "Project-Branch");
$currentPath = (Get-Location).Path
$svnClient = New-Object SharpSvn.SvnClient
foreach ($path in $paths) {
Write-Host "Updating" $path
$svnLocalPath = Join-Path $currentPath $path;
# Throws: Multiple ambiguous overloads found for "Update" and the argument count: "2".
$svnClient.Update([string]$svnLocalPath, [ref][SharpSvn.SvnUpdateResult]$result)
}
我明白我可以只使用SVN客户端或tortoiseproc,但我想更多地了解PowerShell的。
感谢伯特,我会看看通知处理程序。你是对的,powershell使用'[ref]'处理'out',参见:http://stackoverflow.com/q/5276700/44540 – si618