0

私の質問はとても簡単です。以下のコード スニペットを考慮してください。

set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath log filename]
puts "------------- END OF SCRIPT ---------------------"

これはログを出力し、次に "------------- END OF SCRIPT -------" を出力します。

set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath -n upd]
puts "------------- END OF SCRIPT ---------------------"

これは、更新メッセージを出力して終了します。なんで?退場を防ぐには?

PS終了の理由はexec入力によるcvs -n updものです...

4

2 に答える 2

2

おそらく、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-26T16:53:28.510 に答える
0

cvs -qn upd作品の代わりにcvs -n upd

また、以下も機能します。

if {[catch {exec $::cvsPath -n upd} result]} {puts $result}
puts "------------- END OF SCRIPT ---------------------"

$result には更新メッセージが含まれていることに注意してください。これは単にcvs -n updエラーをスローすることを意味します。どこにcvs -qn upd投げないでください。

于 2012-09-26T16:51:24.963 に答える