- #!/usr/bin/perl -w
- # -*- perl -*-
- use P4CGI ;
- use strict ;
- #
- #################################################################
- # CONFIGURATION INFORMATION
- # All config info should be in P4CGI.pm
- #
- #################################################################
- #
- # P4 search for file
- # Search depot for files matching spec
- #
- #################################################################
- # Get file spec argument
- my $filespec = P4CGI::cgi()->param("FSPC") ;
- &P4CGI::bail("No file spec.") unless defined $filespec ;
- # Add //... if not there
- if($filespec !~ /^\/\//) {
- $filespec = "//...$filespec" ;
- }
- while($filespec =~ s/\.\.\.\.\.\./\.\.\./) { ; } ;
- while($filespec =~ s/\*\*/\*/) { ; } ;
- # Check if file exists
- my @matches ;
- &P4CGI::p4call(\@matches, "files $filespec" );
- print "",
- &P4CGI::start_page("Search result for <br><code>$filespec</code>",
- &P4CGI::ul_list("<b>Filename</b> -- see the complete file history",
- "<b>Revision Number</b> -- see the file text",
- "<b>Action</b> -- see the deltas (diffs)",
- "<b>Change</b> -- see the complete change description, including other files")),
- &P4CGI::start_table("cellpadding=1"),
- &P4CGI::table_row("-type","th",
- "-align","left",
- "File","Rev","Action","Change");
- if(scalar(@matches) == 0) {
- print "<font color=red>No files found matching $filespec</font>\n" ;
- }
- else {
- print "<font color=green>",scalar(@matches)," matching files found:</font>" ;
- my $f ;
- foreach $f (@matches) {
- $f =~ /([^\#]+)\#(\d+) - (\w+) change (\d+)/ ;
- my ($name,$rev,$act,$change)=($1,$2,$3,$4) ;
- "",
- &P4CGI::table_row(&P4CGI::ahref("-url",P4CGI::FLV_URL(),
- "FSPC=$name",
- $name),
- &P4CGI::ahref("-url",P4CGI::FV_URL(),
- "FSPC=$name",
- "REV=$rev",
- $rev),
- &P4CGI::ahref("-url",P4CGI::FDV_URL(),
- "FSPC=$name",
- "REV=$rev",
- "ACT=$act",
- $act),
- &P4CGI::ahref("-url",P4CGI::CHV_URL(),
- "CH=$change",
- $change)) ;
- } ;
- print "",&P4CGI::end_table() ;
- my @files ;
- foreach $f (@matches) {
- $f =~ /([^\#]+)\#(\d+) - (\w+) change (\d+)/ ;
- my ($name,$rev,$act,$change)=($1,$2,$3,$4) ;
- if($act ne "delete"){
- push @files,"$name\#$rev";
- }
- } ;
- if(@files > 1) {
- &P4CGI::cgi()->startform("-action",&P4CGI::FDV_URL(),
- "-method","GET"),
- &P4CGI::cgi()->hidden("-name","ACT",
- "-value","edit"),
- "View diff between:<br>",
- &P4CGI::cgi()->popup_menu("-name","FSPC",
- "-values",\@files),
- "and<br>",
- &P4CGI::cgi()->popup_menu("-name","FSPC2",
- "-values",\@files),
- &P4CGI::cgi()->submit("-name","ignore",
- "-value"=>"Go"),
- &P4CGI::cgi()->endform() ;
- } ;
- } ;
- "",
- &P4CGI::end_page() ;
- #
- # That's it folks
- #
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 5093 | Hari Krishna Dara |
Populating perforce branch. I will be adding p4admin files to it. |
20 years ago | |
//guest/perforce_software/utils/p4db/P4DB_0/sff.cgi | |||||
#1 | 1885 | rmg | For posterity: Make the old version appear in a "P4DB_0" subdirectory. (I'd have called i...t 0.99, but I'm not sure it really *is* 0.99!) « |
23 years ago | |
//guest/perforce_software/utils/p4db/sff.cgi | |||||
#2 | 12 | Perforce maintenance | P4DB now browses all depot root paths, not just "//depot/...". (Note: This breaks the "...Browse depot tree" function on the main form -- will fix later.) « |
26 years ago | |
#1 | 11 | Perforce maintenance | Add Fredric Fredricson's depot browser, P4DB. | 26 years ago |