我的问题很简单。请考虑下面的代码片段:
set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath log filename]
puts "------------- END OF SCRIPT ---------------------"这个命令打印日志,然后“-。
set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath -n upd]
puts "------------- END OF SCRIPT ---------------------"这个命令打印更新消息并退出。为什么?如何防止退出?
备注:退出的原因是带有cvs -n upd输入的exec ...
发布于 2012-09-27 00:53:29
可能是因为你让csv.exe抛出了一个错误。试着抓住它,
set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
if {[catch {puts [exec $::cvsPath -n upd]} result]} {puts $result}
puts "------------- END OF SCRIPT ---------------------"发布于 2012-09-27 00:51:25
用cvs -qn upd代替cvs -n upd就行了!
下面的代码也适用:
if {[catch {exec $::cvsPath -n upd} result]} {puts $result}
puts "------------- END OF SCRIPT ---------------------"我应该提到的是,$result包含更新消息,这仅仅意味着cvs -n upd抛出了一个错误。其中as cvs -qn upd不会抛出。
https://stackoverflow.com/questions/12606411
复制相似问题