Hi,
(CVS) 1.11.1p1
wish 8.3
Sun/Solaris and HPUX workstations
I was getting an error that reported that $branchrevs($root) didn't exist ($root had value 3) within the code in logcanvas.tcl.
I was able to "bandaid fix" the problem by changing the code from:
set revbranches(current) {}
} elseif {$revnum == [lindex $branchrevs($root) 0]} {
# The revision we are working on is the latest on its
# branch. Place the you-are-here box on the end of the
# branch.
set branchrevs($root) \
[linsert $branchrevs($root) 0 {current}]
set revbranches(current) {}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) \
[linsert $revbranches($revnum) 0 {current}]
}
foreach {revwho(current) revdate(current) revtime(current)
revlines(current) revcomment(current)
--------------------------
to the code:
--------------------------
set revbranches(current) {}
} else {
if {[catch {info exists $branchrevs($root)}] == 0} {
if {$revnum == [lindex $branchrevs($root) 0]} {
# The revision we are working on is the latest on its
# branch. Place the you-are-here box on the end of the
# branch.
set branchrevs($root) [linsert $branchrevs($root) 0 {current}]
set revbranches(current) {}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) [linsert $revbranches($revnum) 0 {current}]
}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) [linsert $revbranches($revnum) 0 {current}]
}
}
foreach {revwho(current) revdate(current) revtime(current)
revlines(current) revcomment(current)
--------------------------
Any ideas as to the real reason for this error? It seemed to happen if I was viewing a log that had recently branched.
Thanks,
Shane
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm working on this problem right now. The deeper reason for it is that the new exec routine isn't detecting errors correctly and so it's sometimes sending garbage to the log parser. The new exec stuff got rid of an un-portable call to "cat" and it's also namespace-safe, but it needs to handle error conditions better. I'm trying to figure out how to do it better.
dorothy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've got the exec problem sort of fixed, but what you're reporting seems a little different. I can't seem to produce a *,v file that shows the problem, though. Could you find one that doesn't contain confidential source code (wouldn't want that kind of trouble!) and send it to me (dorothyr@users.sourceforge.net)? That would help a lot.
thanks,
dorothy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
(CVS) 1.11.1p1
wish 8.3
Sun/Solaris and HPUX workstations
I was getting an error that reported that $branchrevs($root) didn't exist ($root had value 3) within the code in logcanvas.tcl.
I was able to "bandaid fix" the problem by changing the code from:
set revbranches(current) {}
} elseif {$revnum == [lindex $branchrevs($root) 0]} {
# The revision we are working on is the latest on its
# branch. Place the you-are-here box on the end of the
# branch.
set branchrevs($root) \
[linsert $branchrevs($root) 0 {current}]
set revbranches(current) {}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) \
[linsert $revbranches($revnum) 0 {current}]
}
foreach {revwho(current) revdate(current) revtime(current)
revlines(current) revcomment(current)
--------------------------
to the code:
--------------------------
set revbranches(current) {}
} else {
if {[catch {info exists $branchrevs($root)}] == 0} {
if {$revnum == [lindex $branchrevs($root) 0]} {
# The revision we are working on is the latest on its
# branch. Place the you-are-here box on the end of the
# branch.
set branchrevs($root) [linsert $branchrevs($root) 0 {current}]
set revbranches(current) {}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) [linsert $revbranches($revnum) 0 {current}]
}
} else {
# Otherwise we will place it as a branch off the
# revision.
set revbranches($revnum) [linsert $revbranches($revnum) 0 {current}]
}
}
foreach {revwho(current) revdate(current) revtime(current)
revlines(current) revcomment(current)
--------------------------
Any ideas as to the real reason for this error? It seemed to happen if I was viewing a log that had recently branched.
Thanks,
Shane
I'm working on this problem right now. The deeper reason for it is that the new exec routine isn't detecting errors correctly and so it's sometimes sending garbage to the log parser. The new exec stuff got rid of an un-portable call to "cat" and it's also namespace-safe, but it needs to handle error conditions better. I'm trying to figure out how to do it better.
dorothy
I've got the exec problem sort of fixed, but what you're reporting seems a little different. I can't seem to produce a *,v file that shows the problem, though. Could you find one that doesn't contain confidential source code (wouldn't want that kind of trouble!) and send it to me (dorothyr@users.sourceforge.net)? That would help a lot.
thanks,
dorothy
Hi Dorothy,
I responded to the email you provided with the ,v file in question that was causing me pain.
Shane