从 powershell 运行 时获取完整的 svn 错误

Get full svn error when running from powershell

设置: 添加一个新文件,执行 svn 添加,然后删除该文件,这样你就会得到一个 svn 丢失错误:

c:\path\trunk\svn commit
C:\path\trunk>svn commit svn: E155010: Commit failed (details follow):
svn: E155010: 'C:\path\trunk\New Text Document.txt' is scheduled for
addition, but is missing

但是,如果您从 powershell 运行 使用相同的命令,则会得到以下结果:

PS>&svn commit
svn.exe : svn: E155010: Commit failed (details follow):
At line:1 char:1
+ &svn commit
+ ~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (svn: E155010: C...etails follow)::String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

您会注意到 powershell 输出从不显示引用的 "details follow"。有没有办法显示命令的完整输出?

按照您的步骤操作时,我在 powershell 和 cmd 提示符下得到了相同的输出。两者都产生:

svn: E155010: Commit failed (details follow):
svn: E155010: 'C:\temp\trunk\test.txt' is scheduled for addition, but is missing

Powershell 没有收到错误记录。这是在 Powershell 5.1 中使用 Tortoise SVN 1.9.7。也就是说,您可以通过查看 $error[0] 并检查异常 属性.

来获取更多详细信息
$error[0].Exception | Select-object *