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

