3 |
# collect_diffs.rb expects to find this script in the same directory as it |
# collect_diffs.rb expects to find this script in the same directory as it |
4 |
# |
# |
5 |
|
|
6 |
|
|
7 |
|
|
8 |
# TODO: exemplify syntax for 'cvs admin -m' when log message is missing |
# TODO: exemplify syntax for 'cvs admin -m' when log message is missing |
9 |
# TODO: make max-line limit on diff output configurable |
# TODO: make max-line limit on diff output configurable |
10 |
# TODO: put max size limit on whole email |
# TODO: put max size limit on whole email |
727 |
|
|
728 |
$fileEntries = Array.new |
$fileEntries = Array.new |
729 |
$todoList = Array.new |
$todoList = Array.new |
730 |
|
all_files = "" |
731 |
|
|
732 |
File.open("#{$logfile}.emailtmp", File::RDWR|File::CREAT|File::TRUNC) do |mail| |
File.open("#{$logfile}.emailtmp", File::RDWR|File::CREAT|File::TRUNC) do |mail| |
733 |
|
|
747 |
if $subjectPrefix == nil |
if $subjectPrefix == nil |
748 |
$subjectPrefix = "[CVS #{Repository.array.join(',')}]" |
$subjectPrefix = "[CVS #{Repository.array.join(',')}]" |
749 |
end |
end |
750 |
$fileEntries.each do |file| |
# HACK: put all file names at mail subject |
751 |
unless file.repository == last_repository |
$fileEntries.each do |file| |
752 |
last_repository = file.repository |
name = htmlEncode(file.name_after_common_prefix) |
753 |
file = #{htmlEncode(last_repository.common_prefix)} |
if all_files == "" |
754 |
all_files = all_files + " " + file |
all_files = name |
755 |
end |
else |
756 |
|
all_files = all_files + ";" + name |
757 |
end |
end |
758 |
mailSubject = "#{$subjectPrefix} file #{$mailSubject}" |
end |
759 |
|
|
760 |
|
mailSubject = "#{$subjectPrefix} #{all_files} #{$mailSubject}" |
761 |
if mailSubject.length > $maxSubjectLength |
if mailSubject.length > $maxSubjectLength |
762 |
mailSubject = mailSubject[0, $maxSubjectLength] |
mailSubject = mailSubject[0, $maxSubjectLength] |
763 |
end |
end |
857 |
end |
end |
858 |
lastPath = thisPath |
lastPath = thisPath |
859 |
end |
end |
860 |
|
if all_files == nil |
861 |
|
all_files = name |
862 |
|
else |
863 |
|
all_files = all_files + " " + name |
864 |
|
end |
865 |
if file.addition? |
if file.addition? |
866 |
name = "<span id=\"added\">#{name}</span>" |
name = "<span id=\"added\">#{name}</span>" |
867 |
elsif file.removal? |
elsif file.removal? |
903 |
mail.print("<td align=\"center\">#{viewcvsFile(file.path,file.fromVer)} #{viewcvsDiff(file)} #{viewcvsFile(file.path,file.toVer)}</td>") |
mail.print("<td align=\"center\">#{viewcvsFile(file.path,file.fromVer)} #{viewcvsDiff(file)} #{viewcvsFile(file.path,file.toVer)}</td>") |
904 |
end |
end |
905 |
|
|
906 |
mail.puts("</tr>") |
mail.puts("</tr>") |
907 |
end |
end |
908 |
|
|
909 |
if $fileEntries.size>1 |
if $fileEntries.size>1 |
910 |
# give total number of lines added/removed accross all files |
# give total number of lines added/removed accross all files |
911 |
mail.print("<tr><td> </td>") |
mail.print("<tr><td> </td>") |
973 |
mail.puts("</body></html>") |
mail.puts("</body></html>") |
974 |
|
|
975 |
end |
end |
976 |
|
|