System.Management.Automation.Powershell.Invoke () reclama HadErrors cuando no había ninguno

Tengo un problema con el siguiente código donde funciona bien en computadoras que tienen Powershell versión 1-4, pero cuando se ejecuta en una computadora con Powershell V5, la testing, "posh.HadErrors", es correcta. Intenté esto en una installation vagabunda limpia, así que no es un problema de perfil o env var. Cualquier command de git que intente ejecutar, powershell afirma tener errores cuando se ejecuta en una computadora con v5 instalado. Ni siquiera estoy seguro de cómo solucionar este problema.

using (var posh = PowerShell.Create()) { string resultString = ""; posh.AddScript("git checkout master"); var results = posh.Invoke(); foreach (var result in results) { if (result == null) { continue; } if (posh.HadErrors) { // This is getting hit when it shouldn't when running Powershell V5 _console.LogError(result.ToString()); } else { resultString += result + "\r\n"; _console.LogDebug(result.ToString()); } } foreach (var error in posh.Streams.Error) { _console.LogError(error.ToString()); } return Tuple.Create(!posh.HadErrors, resultString); } 

git sale a stderr incluso cuando no hay ningún error.

Por ejemplo, si se ve así:

 > git checkout master Already on 'master' Your branch is up-to-date with 'origin/master'. 

Esa primera línea es salida de error.

Si se ve así:

 > git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master'. 

Esa primera línea sigue siendo salida de error.

Puede verificarlo ejecutando el command de esta manera:

 git checkout master 1>output.log 2>error.log 

Id HadErroes es igual de verdadero, verifique PowerShellInstance.InvocationStateInfo.Reason para ver la exception