From: Joachim K. <ko...@ma...> - 2008-01-18 08:44:54
|
Hi Bernard, >Looking at the code, I wonder if the 'trace add variable' is not >defined too late. > >Maybe I'm misunderstanding but the trace should probably be put >before the call to the console: >svn::console $::HOME $cmd The trace is set just after invoking the svn console, but the svn console returns very quickly, so the trace ought to be in place well ahead of termination of the svn operation. The variable is also set at the beginning of a svn run (but before svn::console returns), so with the current design of the console, it would not work to set the trace in advance. This would be easy to change, though. Perhaps it would in fact be better to set the trace before invoking the svn console. Let us first see if the error is not elsewhere. >Or is it because svnRun(done) was not modified at the end of the >checkout ? I think this is a more likely cause of the problem. Can you confirm that the proc svn::closeAllPipes looks like this: proc svn::closeAllPipes {} { variable svnRun catch { close $svnRun(pipeName) } set svnRun(done) 1 } If not, then your version of svnConsole.tcl is not sufficiently fresh. If it looks like that, we might try to debug by defining it instead like this proc svn::closeAllPipes {} { variable svnRun catch { close $svnRun(pipeName) } alertnote [trace info write ::svn::svnRun(done)] set svnRun(done) 1 } To see first of all that the proc is called at all at the end of the svn run, and second if the trace is in place at all at that time. Please report back. Cheers, Joachim. |