зеркало из https://github.com/mozilla/pjs.git
73 строки
2.1 KiB
Perl
Executable File
73 строки
2.1 KiB
Perl
Executable File
#!/usr/bonsaitools/bin/perl --
|
|
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
|
#
|
|
# The contents of this file are subject to the Netscape Public License
|
|
# Version 1.0 (the "License"); you may not use this file except in
|
|
# compliance with the License. You may obtain a copy of the License at
|
|
# http://www.mozilla.org/NPL/
|
|
#
|
|
# Software distributed under the License is distributed on an "AS IS"
|
|
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing rights and limitations
|
|
# under the License.
|
|
#
|
|
# The Original Code is the Bonsai CVS tool.
|
|
#
|
|
# The Initial Developer of the Original Code is Netscape Communications
|
|
# Corporation. Portions created by Netscape are Copyright (C) 1998
|
|
# Netscape Communications Corporation. All Rights Reserved.
|
|
|
|
require 'lloydcgi.pl';
|
|
require 'utils.pl';
|
|
|
|
$file= $form{'file'};
|
|
$mark= $form{'mark'};
|
|
$ln = ($mark > 10 ? $mark-10 : 1 );
|
|
$rev = $form{'rev'};
|
|
$debug = $form{'debug'};
|
|
|
|
print "Content-Type: text/html\n\n";
|
|
|
|
$CVS_ROOT = $form{'root'};
|
|
if( $CVS_ROOT eq '' ){
|
|
$CVS_ROOT = pickDefaultRepository();
|
|
}
|
|
validateRepository($CVS_ROOT);
|
|
|
|
$CVS_REPOS_SUFIX = $CVS_ROOT;
|
|
$CVS_REPOS_SUFIX =~ s/\//_/g;
|
|
|
|
$db = ConnectToDatabase();
|
|
|
|
$f = SqlQuote($file);
|
|
$qstring = "select distinct dirs.dir from checkins,dirs,files,repositories where dirs.id=dirid and files.id=fileid and repositories.id=repositoryid and repositories.repository='$CVS_ROOT' and files.file='$f' order by dirs.dir";
|
|
|
|
if ($debug) {
|
|
print "<pre wrap>$qstring</pre>\n";
|
|
}
|
|
|
|
$query = $db->Query($qstring) || die $Mysql::db_errstr;
|
|
|
|
while(@row = $query->fetchrow){
|
|
$d = $row[0];
|
|
push @fl, "$d/$file";
|
|
}
|
|
|
|
if( @fl == 0 ){
|
|
print "<h3>No files matched this file name. It may have been added recently.</h3>";
|
|
}
|
|
elsif( @fl == 1 ){
|
|
$s = $fl[0];
|
|
print "<head>
|
|
<meta http-equiv=Refresh
|
|
content=\"0; URL=cvsblame.cgi?file=$s&rev=$rev&root=$CVS_ROOT&mark=$mark#$ln\">
|
|
</head>
|
|
";
|
|
}
|
|
else {
|
|
print "<h3>Pick the file that best matches the one you are looking for:</h3>\n";
|
|
for $s (@fl) {
|
|
print "<dt><a href=cvsblame.cgi?file=$s&rev=$rev&mark=$mark#$ln>$s</a>";
|
|
}
|
|
}
|