=================================================================== RCS file: /cvs/cvsweb/cvsweb.cgi,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- cvsweb/cvsweb.cgi 1997/04/30 18:25:05 1.7 +++ cvsweb/cvsweb.cgi 1997/07/01 22:19:57 1.8 @@ -134,6 +134,9 @@ if (-d $fullname) { "Failed to spawn rlog"); while () { print if ($verbose); + if (/^branch:\s+([\d\.]+)/) { + $curbranch = $1; + } if ($symnames) { if (/^\s+([^:]+):\s+([\d\.]+)/) { $symrev{$1} = $2; @@ -203,12 +206,13 @@ if (-d $fullname) { print "Done sorting revisions\n" if ($verbose); # # HEAD is an artificial tag which is simply the highest tag number on the main -# branch (I think!). Find it by looking through @revorder; it should at least -# be near the beginning (In fact, it *should* be the first commit listed on -# the main branch.) +# branch, unless there is a branch tag in the RCS file in which case it's the +# highest revision on that branch. Find it by looking through @revorder; it +# is the first commit listed on the appropriate branch. + $headrev = $curbranch || "1"; revision: for ($i = 0; $i <= $#revorder; $i++) { - if ($revorder[$i] =~ /^\d+\.\d+$/) { + if ($revorder[$i] =~ /^(\S*)\.\d+$/ && $headrev eq $1) { if ($revsym{$revorder[$i]}) { $revsym{$revorder[$i]} .= ", "; } @@ -236,8 +240,6 @@ if (-d $fullname) { # If there is no branch A.B.D, then it translates into # the head A.B . # - # This is pure speculation. - # $head = $1; $branch = $3; $regex = $head . "." . $branch; @@ -255,6 +257,10 @@ if (-d $fullname) { } $revsym{$rev} .= ", " if ($revsym{$rev}); $revsym{$rev} .= $_; + if ($rev ne $head) { + $branchpoint{$head} .= ", " if ($branchpoint{$head}); + $branchpoint{$head} .= $_; + } } $sel .= "