[BACK]Return to cvsweb.cgi CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / cvsweb

Diff for /cvsweb/cvsweb.cgi between version 1.7 and 1.8

version 1.7, 1997/04/30 18:25:05 version 1.8, 1997/07/01 22:19:57
Line 134  if (-d $fullname) {
Line 134  if (-d $fullname) {
                                                 "Failed to spawn rlog");                                                  "Failed to spawn rlog");
         while (<RCS>) {          while (<RCS>) {
             print if ($verbose);              print if ($verbose);
               if (/^branch:\s+([\d\.]+)/) {
                   $curbranch = $1;
               }
             if ($symnames) {              if ($symnames) {
                 if (/^\s+([^:]+):\s+([\d\.]+)/) {                  if (/^\s+([^:]+):\s+([\d\.]+)/) {
                     $symrev{$1} = $2;                      $symrev{$1} = $2;
Line 203  if (-d $fullname) {
Line 206  if (-d $fullname) {
         print "Done sorting revisions\n" if ($verbose);          print "Done sorting revisions\n" if ($verbose);
 #  #
 # HEAD is an artificial tag which is simply the highest tag number on the main  # 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  # branch, unless there is a branch tag in the RCS file in which case it's the
 # be near the beginning (In fact, it *should* be the first commit listed on  # highest revision on that branch.  Find it by looking through @revorder; it
 # the main branch.)  # is the first commit listed on the appropriate branch.
           $headrev = $curbranch || "1";
         revision:          revision:
         for ($i = 0; $i <= $#revorder; $i++) {          for ($i = 0; $i <= $#revorder; $i++) {
             if ($revorder[$i] =~ /^\d+\.\d+$/) {              if ($revorder[$i] =~ /^(\S*)\.\d+$/ && $headrev eq $1) {
                 if ($revsym{$revorder[$i]}) {                  if ($revsym{$revorder[$i]}) {
                     $revsym{$revorder[$i]} .= ", ";                      $revsym{$revorder[$i]} .= ", ";
                 }                  }
Line 236  if (-d $fullname) {
Line 240  if (-d $fullname) {
                 # If there is no branch A.B.D, then it translates into                  # If there is no branch A.B.D, then it translates into
                 # the head A.B .                  # the head A.B .
                 #                  #
                 # This is pure speculation.  
                 #  
                 $head = $1;                  $head = $1;
                 $branch = $3;                  $branch = $3;
                 $regex = $head . "." . $branch;                  $regex = $head . "." . $branch;
Line 255  if (-d $fullname) {
Line 257  if (-d $fullname) {
                 }                  }
                 $revsym{$rev} .= ", " if ($revsym{$rev});                  $revsym{$rev} .= ", " if ($revsym{$rev});
                 $revsym{$rev} .= $_;                  $revsym{$rev} .= $_;
                   if ($rev ne $head) {
                       $branchpoint{$head} .= ", " if ($branchpoint{$head});
                       $branchpoint{$head} .= $_;
                   }
             }              }
             $sel .= "<OPTION VALUE=\"${rev}:${_}\">$_\n";              $sel .= "<OPTION VALUE=\"${rev}:${_}\">$_\n";
         }          }
Line 265  if (-d $fullname) {
Line 271  if (-d $fullname) {
         print "<BR>\n";          print "<BR>\n";
         print "<A HREF=\"#diff\">Request diff between arbitrary revisions</A>\n";          print "<A HREF=\"#diff\">Request diff between arbitrary revisions</A>\n";
         print "<HR NOSHADE>\n";          print "<HR NOSHADE>\n";
           if ($curbranch) {
               print "Default branch is ";
               print ($revsym{$curbranch} || $curbranch);
           } else {
               print "No default branch";
           }
           print "<BR><HR NOSHADE>\n";
 # The other possible U.I. I can see is to have each revision be hot  # The other possible U.I. I can see is to have each revision be hot
 # and have the first one you click do ?r1=foo  # and have the first one you click do ?r1=foo
 # and since there's no r2 it keeps going & the next one you click  # and since there's no r2 it keeps going & the next one you click
Line 288  if (-d $fullname) {
Line 301  if (-d $fullname) {
                 $nameprinted{$br}++;                  $nameprinted{$br}++;
             }              }
             print "\n";              print "\n";
 #           print "RCS revision <b>$_</b>\n";  
             print "<A HREF=\"$scriptwhere?rev=$_\"><b>$_</b></A>";              print "<A HREF=\"$scriptwhere?rev=$_\"><b>$_</b></A>";
             if (/^1\.1\.1\.\d+$/) {              if (/^1\.1\.1\.\d+$/) {
                 print " <i>(vendor branch)</i>";                  print " <i>(vendor branch)</i>";
             }              }
 #           print "<BR>\n";  
 #           print "Checked in on <i>" . &ctime($date{$_}) . "</i> by ";  
 #           print "<i>" . $author{$_} . "</i><BR>\n";  
             print " <i>" . &ctime($date{$_}) . "</i> by ";              print " <i>" . &ctime($date{$_}) . "</i> by ";
             print "<i>" . $author{$_} . "</i>\n";              print "<i>" . $author{$_} . "</i>\n";
             if ($revsym{$_}) {              if ($revsym{$_}) {
 #               print "CVS Tags: <b>$revsym{$_}</b><BR>\n";  
                 print "<BR>CVS Tags: <b>$revsym{$_}</b>";                  print "<BR>CVS Tags: <b>$revsym{$_}</b>";
             }              }
             if ($revsym{$br})  {              if ($revsym{$br})  {
 #               print "Branch: <b>$revsym{$br}</b><BR>\n";  
                 if ($revsym{$_}) {                  if ($revsym{$_}) {
                     print "; ";                      print "; ";
                 } else {                  } else {
                     print "<BR>";                      print "<BR>";
                 }                  }
                 print "Branch: <b>$revsym{$br}</b>";                  print "Branch: <b>$revsym{$br}</b>\n";
             }              }
               if ($branchpoint{$_}) {
                   if ($revsym{$br} || $revsym{$_}) {
                       print "; ";
                   } else {
                       print "<BR>";
                   }
                   print "Branch point for: <b>$branchpoint{$_}</b>\n";
               }
             # Find the previous revision on this branch.              # Find the previous revision on this branch.
             # I think this can be done algorithmically.  
             @prevrev = split(/\./, $_);              @prevrev = split(/\./, $_);
             if (--$prevrev[$#prevrev] == 0) {              if (--$prevrev[$#prevrev] == 0) {
                 # If it was X.Y.Z.1, just make it X.Y                  # If it was X.Y.Z.1, just make it X.Y
Line 348  if (-d $fullname) {
Line 362  if (-d $fullname) {
                     }                      }
                 }                  }
             }              }
 #           print "Log message:<BR>\n";  
             print "<PRE>\n";              print "<PRE>\n";
             print &htmlify($log{$_}, 1);              print &htmlify($log{$_}, 1);
             print "</PRE><HR NOSHADE>\n";              print "</PRE><HR NOSHADE>\n";
Line 411  if (-d $fullname) {
Line 424  if (-d $fullname) {
         # Is there an indexed version of modules?          # Is there an indexed version of modules?
         if (open(MODULES, "$cvsroot/CVSROOT/modules")) {          if (open(MODULES, "$cvsroot/CVSROOT/modules")) {
                 while (<MODULES>) {                  while (<MODULES>) {
                         if (/^${module}\s+(\S+)/o && -d "${cvsroot}/$1" &&                          if (/^(\S+)\s+(\S+)/o && $module eq $1
                                         $module ne $1) {                                  && -d "${cvsroot}/$2" && $module ne $2) {
                                 &redirect($scriptname . '/' . $1 . $xtra);                                  &redirect($scriptname . '/' . $2 . $xtra);
                         }                          }
                 }                  }
         }          }
Line 496  sub safeglob {
Line 509  sub safeglob {
         #       transform filename from glob to regex.  Deal with:          #       transform filename from glob to regex.  Deal with:
         #       [, {, ?, * as glob chars          #       [, {, ?, * as glob chars
         #       make sure to escape all other regex chars          #       make sure to escape all other regex chars
                 $glob =~ s/\./\./g;                  $glob =~ s/([\.\(\)\|\+])/\\$1/g;
                 $glob =~ s/\*/.*/g;                  $glob =~ s/\*/.*/g;
                 $glob =~ s/\?/./g;                  $glob =~ s/\?/./g;
                   $glob =~ s/{([^}]+)}/($t = $1) =~ s-,-|-g; "($t)"/eg;
                 foreach (readdir(DIR)) {                  foreach (readdir(DIR)) {
                         if (/^${glob}$/) {                          if (/^${glob}$/) {
                                 push(@results, $dirname . "/" .$_);                                  push(@results, $dirname . "/" .$_);
Line 508  sub safeglob {
Line 522  sub safeglob {
   
         @results;          @results;
 }  }
   
 sub checkout {  sub checkout {
         local($fullname, $rev) = @_;          local($fullname, $rev) = @_;
   
         open(RCS, "co -p$rev '$fullname' 2>&1 |") ||          open(RCS, "co -p$rev '$fullname' 2>&1 |") ||
             &fail("500 Internal Error", "Couldn't co: $!");              &fail("500 Internal Error", "Couldn't co: $!");
 # /home/ncvs/src/sys/netinet/igmp.c,v  -->  standard output  # /home/ncvs/src/sys/netinet/igmp.c,v  -->  standard output
   # or
   # /home/ncvs/src/sys/netinet/igmp.c,v  -->  stdout
 # revision 1.1.1.2  # revision 1.1.1.2
 # /*  # /*
         $_ = <RCS>;          $_ = <RCS>;
         if (/^$fullname,v\s+-->\s+standard output\s*$/o) {          if (/^(\S+),v\s+-->\s+st(andar)?d ?out(put)?\s*$/o && $1 eq $fullname) {
             # As expected              # As expected
         } else {          } else {
             &fatal("500 Internal Error",              &fatal("500 Internal Error",

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

CVSweb