我有一个运行 mercurial 命令失败的任务,因为 mercurial 没有返回 0 而是 1。
当 mercurial 返回 1 并不意味着它是一个错误,但没有什么可做的。根据文档:
Returns 0 if push was successful, 1 if nothing to push.
如何处理我的任务中的返回,以便当 hg 命令返回 0 或 1 时它不会中断。
这是失败的功能
Function Invoke-HgBookmark([string]$bookmarkname)
{
$repo = GetCredentials
& $hg.file bookmark -f $bookmarkname
Invoke-Expression "$($hg.file) push -B $bookmarkname $repo"
if ($LASTEXITCODE -eq 0 -Or $LASTEXITCODE -eq 1)
{
return 0
}
else
{
return -1
}
}
Psake 正在使用以下代码调用我的函数:
try {
$global:lastexitcode = 0
& $cmd
if ($lastexitcode -ne 0) {
throw ("Exec: " + $errorMessage)
}
break
}