#!/usr/bin/perl ##This script is based on a script from the DevGuy Programmers' Canvas Toolkit ##http://DevGuy.com/pctk ##(c) 2001 DevGuy.com ## Adapted for local use by JDH 18/10/2001. ## john@optionexist.co.uk $logDir = 'e:/cvs-mail'; $cvsWebUrl = 'http://optex1/cvs/cvsweb.pl/'; $emailTo = pop @ARGV; $committer = pop @ARGV; $dirnamelong = join(" ", @ARGV); $dirname = substr($dirnamelong,0,50); $dirname =~ s/\\//g; @body = ; for(1..3) {shift @body}; while ($body[$#body] =~ /^\s*$/) { pop @body; } while ($body[$#body] =~ /CVS\: \-/) { $body[$#body] = $`; } push @body, ""; @dirs = split(/,/, $dirnamelong); for(;;) { if($dirs[0] !~ / /) { last; } $dirs[0] = $'; $moduleName .= $`; if ($moduleName =~ /\\+$/) { $moduleName = $` . " "; } else { last; } } foreach(@dirs) {s/\\ / /g;} for ($i = 0; $i < $#dirs; $i += 2) { my $dirname; if($dirs[$i+2] =~ / /) { $dirs[$i+2] = $`; $nextFile = $'; } push(@body, "\n" . $dirs[$i] . " (" . $dirs[$i+1] . " -> " . $dirs[$i+2] . ")"); $moduleName =~ s/\\ /\%20/g; ($dirname = $dirs[$i]) =~ s/\\ /\%20/g; push(@body, "\n" . $cvsWebUrl . $moduleName . "/" . $dirname . "\n"); $dirs[$i+2] = $nextFile; } open(LOGOUT, ">>$logDir/$emailTo") or die "log file $logdir/$emailTo: $!"; print LOGOUT "------------------------------------------------------------------------\n"; print LOGOUT "Commit to module $moduleName by $committer\n"; print LOGOUT localtime(time()) . "\n\n"; print LOGOUT @body; close LOGOUT;