version 1.3, 2002/11/15 16:34:16
|
version 1.10, 2011/07/04 18:32:49
|
Line 25 my $cvsroot = $ENV{CVSROOT}."/";
|
Line 25 my $cvsroot = $ENV{CVSROOT}."/";
|
# remove double trailing slash |
# remove double trailing slash |
$cvsroot =~ s/\/\/$/\//; |
$cvsroot =~ s/\/\/$/\//; |
my $cvsusers = "/repository/CVSROOT/cvsusers"; |
my $cvsusers = "/repository/CVSROOT/cvsusers"; |
|
my $cvshost = "source.lon-capa.org"; |
|
|
# get the id of this process group for use in figuring out |
# get the id of this process group for use in figuring out |
# whether this is the last directory with checkins or not |
# whether this is the last directory with checkins or not |
Line 33 my $id = getpgrp();
|
Line 34 my $id = getpgrp();
|
# the command line looks something like this for a normal commit: |
# the command line looks something like this for a normal commit: |
# ("user@example.com", "cvsuser", |
# ("user@example.com", "cvsuser", |
# "module changedfile,1.1,1.2 addedfile,NONE,1.1 removedfile,1.1,NONE") |
# "module changedfile,1.1,1.2 addedfile,NONE,1.1 removedfile,1.1,NONE") |
my $mailfrom = shift; |
my $mailto = shift; |
my $mailto = $mailfrom; |
|
my $envaddr = $mailto; |
my $envaddr = $mailto; |
|
|
my $cvsuser = shift; |
my $cvsuser = shift; |
Line 119 my $diffmsg = '';
|
Line 119 my $diffmsg = '';
|
|
|
foreach my $info (@modified_files_info) { |
foreach my $info (@modified_files_info) { |
my ($file, $old, $new) = @$info; |
my ($file, $old, $new) = @$info; |
if ($file =~ m|TexConvert/tt.dynamic|) { $diffmsg='Diffs for '.$file.' not shown.'."\n";next; } |
if ($file =~ m|TexConvert/tt.dynamic| || |
|
$file =~ m|foxr/londtest| || |
|
$file =~ m|purdue| || |
|
$file =~ m|vcu/| || |
|
$file =~ m|modules/[^/]+/private/| ) { |
|
$diffmsg='Diffs for '.$file.' not shown.'."\n"; |
|
next; |
|
} |
open(LOG, "$cvs -Qn rdiff -r $old -r $new -u $file|") || die; |
open(LOG, "$cvs -Qn rdiff -r $old -r $new -u $file|") || die; |
while(<LOG>) { s/\r\n/\n/; $diffmsg .= $_; } |
while(<LOG>) { s/\r\n/\n/; $diffmsg .= $_; } |
close(LOG); |
close(LOG); |
Line 130 foreach my $info (@modified_files_info)
|
Line 137 foreach my $info (@modified_files_info)
|
foreach my $file (@added_files) { |
foreach my $file (@added_files) { |
next if $file =~ /\.(gif|jpe|jpe?g|pdf|png|exe|class|tgz|tar.gz|jar)$/i |
next if $file =~ /\.(gif|jpe|jpe?g|pdf|png|exe|class|tgz|tar.gz|jar)$/i |
or $file !~ /\./; |
or $file !~ /\./; |
|
if ($file =~ m|TexConvert/tt.dynamic| || |
|
$file =~ m|foxr/londtest| || |
|
$file =~ m|purdue| || |
|
$file =~ m|vcu/| || |
|
$file =~ m|modules/[^/]+/private/| ) { |
|
$diffmsg='Contents of added file: '.$file.' not shown.'."\n"; |
|
next; |
|
} |
$diffmsg .= "\nIndex: $file\n+++ $file\n"; |
$diffmsg .= "\nIndex: $file\n+++ $file\n"; |
open(LOG, "$cvs -Qn checkout -p -r1.1 $file |") || die; |
open(LOG, "$cvs -Qn checkout -p -r1.1 $file |") || die; |
while(<LOG>) { s/\r\n/\n/; $diffmsg .= $_; } |
while(<LOG>) { s/\r\n/\n/; $diffmsg .= $_; } |
Line 180 if (open FD, $cvsusers) {
|
Line 195 if (open FD, $cvsusers) {
|
close(FD); |
close(FD); |
} |
} |
|
|
$from ||= "$cvsuser <$mailfrom>"; |
$from ||= "$cvsuser <$cvsuser\@$cvshost>"; |
|
|
# "Reply-to: $mailto\n". |
# "Reply-to: $mailto\n". |
# "Date: ".localtime()."\n". |
# "Date: ".localtime()."\n". |
Line 218 if (length($diffmsg) > 8000) {
|
Line 233 if (length($diffmsg) > 8000) {
|
"\n". |
"\n". |
"This is a MIME encoded message\n\n". |
"This is a MIME encoded message\n\n". |
"--$boundary\n". |
"--$boundary\n". |
"Content-Type: text/plain\n". |
'Content-Type: text/plain; charset="us-ascii"'."\n". |
"\n". |
"\n". |
$common_body. |
$common_body. |
"--$boundary\n". |
"--$boundary\n". |
"Content-Type: text/plain\n". |
'Content-Type: text/plain; charset="us-ascii"'."\n". |
"Content-Disposition: attachment; filename=\"$cvsuser-$now.txt\"\n". |
"Content-Disposition: attachment; filename=\"$cvsuser-$now.txt\"\n". |
"\n". |
"\n". |
"$diffmsg\n". |
"$diffmsg\n". |
"--$boundary--\n"; |
"--$boundary--\n"; |
} else { |
} else { |
$email = $common_header. |
$email = $common_header. |
|
'Content-Type: text/plain; charset="us-ascii"'."\n". |
"\n". |
"\n". |
$common_body. |
$common_body. |
"$diffmsg\n"; |
"$diffmsg\n"; |