Index: run_build.pl
===================================================================
RCS file: /cvsroot/pgbuildfarm/client-code/run_build.pl,v
retrieving revision 1.69
diff -c -r1.69 run_build.pl
*** run_build.pl	8 Sep 2006 09:30:47 -0000	1.69
--- run_build.pl	27 Sep 2006 16:36:42 -0000
***************
*** 300,305 ****
--- 300,306 ----
  my $dbstarted;
  
  my %ignore_file = ();
+ my @cvsignore_file;
  
  # cleanup handler for all exits
  END
***************
*** 1000,1005 ****
--- 1001,1027 ----
  }
  
  
+ sub find_cvsignore
+ {
+ 	# skip CVS dirs if using update
+ 	if ($cvsmethod eq 'update' && $_ eq 'CVS' && -d $_)
+ 	{
+ 		$File::Find::prune = 1;
+ 	}
+ 	elsif (-f $_ && $_ eq '.cvsignore')
+ 	{
+ 		my $fh;
+ 		open($fh,$_) || die "cannot open $name for reading";
+ 		my @names = (<$fh>);
+ 		close($fh);
+ 		chomp @names;
+ 		foreach $name (@names) {
+ 			push (@cvsignore_file, "$File::Find::dir/$name" ) if (-f "$name");
+ 		}
+ 	}
+ }
+ 
+ 
  sub find_changed 
  {
  	# skip CVS dirs if using update
***************
*** 1073,1079 ****
  		my @statout = `cd pgsql && cvs -d $cvsserver status 2>&1`;
  		$unknown_files = grep { /^\?/ } @statout;
  	}
! 		
  	
  	send_result('CVS',$status,\@cvslog)	if ($status);
  	send_result('CVS-Merge',$merge_conflicts,\@cvslog) 
--- 1095,1103 ----
  		my @statout = `cd pgsql && cvs -d $cvsserver status 2>&1`;
  		$unknown_files = grep { /^\?/ } @statout;
  	}
! 
! 	File::Find::find({wanted => \&find_cvsignore}, 'pgsql') ;
! 	my $cvsignore_files = $#cvsignore_file+1;
  	
  	send_result('CVS',$status,\@cvslog)	if ($status);
  	send_result('CVS-Merge',$merge_conflicts,\@cvslog) 
***************
*** 1084,1089 ****
--- 1108,1115 ----
  			if ($mod_files);
  		send_result('CVS-Extraneous-Files',$unknown_files,\@cvslog)
  			if ($unknown_files);
+ 		send_result('CVS-Ignore-Files',$cvsignore_files,\@cvsignore_file)
+ 			if ($cvsignore_files);
  	}
  	$steps_completed = "CVS";
  
