Hi, This patch fixes a few things in stattrans.pl: * fix a bug when the original no longer exists (the elsif ( !$version && $transversion) was never true * warn when translation-check version is higher than the original file version * if both english and $lang files have no translation-check header, assume that english is the original (instead of $lang)
Can somebody check this patch and tell me if each change is ok before I commit it? Regards, -- Thomas Huriaux
Index: stattrans.pl =================================================================== RCS file: /cvs/webwml/webwml/stattrans.pl,v retrieving revision 1.64 diff -u -r1.64 stattrans.pl --- stattrans.pl 16 Apr 2005 11:08:44 -0000 1.64 +++ stattrans.pl 18 Apr 2005 09:08:19 -0000 @@ -125,8 +125,14 @@ } else { $version{"$lang/$file"} = $altcvs->revision($f); if (!$transcheck->revision()) { - $original{"english/$file"} = $lang; - $transversion{"english/$file"} ||= "1.1"; + $transcheckenglish = Webwml::TransCheck->new("english/$file"); + if (!$transcheckenglish->revision() and (-e "english/$file")) { + $transversion{"$lang/$file"} = "1.1"; + $original{"$lang/$file"} = "english"; + } else { + $original{"english/$file"} = $lang; + $transversion{"english/$file"} ||= "1.1"; + } } } if ($transcheck->maintainer()) { @@ -174,12 +180,14 @@ if ( $major_number != $major_translated_number ) { return "This translation is too out of date"; + } elsif ( $last_number - $last_translated_number < 0 ) { + return "Wrong translation version"; } elsif ( $last_number - $last_translated_number >= $max_versions ) { return "This translation is too out of date"; } elsif ( $last_number - $last_translated_number >= $min_versions ) { return "The original is newer than this translation"; } - } elsif ( !$version && $transversion) { + } elsif ( !$version && $translation) { return "The original no longer exists"; } return ""; @@ -285,8 +293,12 @@ $o_body .= sprintf "<td>%s</td>", $transversion{"$lang/$file"}; $o_body .= sprintf "<td>%s</td>", $version{"$orig/$file"}; $o_body .= sprintf "<td>%s</td>", $msg; - $o_body .= sprintf "<td> <a href=\"http://cvs.debian.org/webwml/$orig/%s.diff\?r1=%s\&r2=%s\&cvsroot=webwml\&diff_format=%s\">%s -> %s</a></td>", $file, $transversion{"$lang/$file"}, $version{"$orig/$file"}, $config{'difftype'}, $transversion{"$lang/$file"}, $version{"$orig/$file"}; - $o_body .= sprintf "<td><a href=\"http://cvs.debian.org/webwml/$orig/%s?cvsroot=webwml#rev%s\">[L]</a></td>", $file, $version{"$orig/$file"}; + if ($msg eq "Wrong translation version" || $msg eq "The original no longer exists") { + $o_body .= "<td></td><td></td>"; + } else { + $o_body .= sprintf "<td> <a href=\"http://cvs.debian.org/webwml/$orig/%s.diff\?r1=%s\&r2=%s\&cvsroot=webwml\&diff_format=%s\">%s -> %s</a></td>", $file, $transversion{"$lang/$file"}, $version{"$orig/$file"}, $config{'difftype'}, $transversion{"$lang/$file"}, $version{"$orig/$file"}; + $o_body .= sprintf "<td><a href=\"http://cvs.debian.org/webwml/$orig/%s?cvsroot=webwml#rev%s\">[L]</a></td>", $file, $version{"$orig/$file"}; + } $o_body .= sprintf "<td align=center>%s</td>", $maintainer{"$lang/$file"} || ""; $o_body .= "</tr>\n"; $outdated{$lang}++;
signature.asc
Description: Digital signature