Re: ddts-script v 0.2
Le jeudi 29 novembre 2001, Nicolas Bertolissio écrit :
> La rustine est jointe
Quand je n'oublie pas...
Nicolas
--
--- ddts-script_0.1.9.txt Wed Nov 28 14:41:03 2001
+++ ddts-script_0.2.txt Thu Nov 29 09:15:01 2001
@@ -172,6 +172,8 @@
=item I<$mail_addr>, your email address
+=item I<$mail_from>, the mail address you want the ddts to answer to
+
=item I<$mail_self>, set to `B<yes>' if your want to be sent a copy of outgoing mail
=item I<$mail_enc>, mail encoding for mime
@@ -209,7 +211,7 @@
=cut
-my $version = "0.1.9";
+my $version = "0.2";
# Test if configuration as been made
foreach ($tr_dir, $bug_dir, $rev_dir) {
@@ -519,6 +521,7 @@
my $bug_number;
my $langage;
my $description;
+ my $old_description;
my $db_translation;
my $translation;
@@ -581,6 +584,18 @@
.join("\n", map($_ = " $_", split("\n", $db_translation)))."\n";
}
+ if (defined && (/^# old description:/)) {
+ $_ = <UU>;
+ /^# Description: /;
+ $old_description = $';
+ while (<UU>) {
+ last unless /^# /;
+ $old_description .= " $'";
+ }
+
+ $debug>4 && print " old description\n";
+ $debug>4 && print join("\n", map($_ = " $_", split("\n", $old_description)))."\n";
+ }
if (defined && /^Description-(..(_..)?): /) {
$langage = $1;
$translation = $';
@@ -621,7 +636,7 @@
} elsif ($uu_file eq "$temp_dir/ddts-reviewed-$$") {
&parse_reviewed($package);
} else {
- &parse_bug($package, $langage, $description, $translation, $db_translation, $bug_number, $reviewer_addr, $message_id);
+ &parse_bug($package, $langage, $description, $old_description, $translation, $db_translation, $bug_number, $reviewer_addr, $message_id);
}
# Clear variables
@@ -685,8 +700,8 @@
$debug>3 && print " langage: $langage\n";
$debug>3 && print " message id: $message_id\n";
- &move_file ("$rev_dir/$package.$ok_e", "$rev_dir/$package.$sent_e");
- &move_file ("$rev_dir/$package.$rev_e", "$rev_dir/$package.$sent_e");
+ &move_file ("$rev_dir/$package.$ok_e", "$rev_dir/$package.$sent_e");
+ &move_file ("$rev_dir/$package.$rev_e", "$rev_dir/$package.$sent_e");
&move_file ("$rev_dir/$package.$sent_e", "$rev_dir/$package.$old_e");
my $todo = "# Package: $package\n"
@@ -713,8 +728,17 @@
} else {
my $reviewed = &get_translation("$rev_dir/$package.$old_e");
$todo = &get_header("$rev_dir/$package")
- ."Description: $description"
- ."Description-$langage\: ".&superdiff($original, $reviewed);
+ ."Description: $description";
+ my @diff = split ("\n", &superdiff($original, $reviewed));
+ if ($diff[0] =~ /^$comment-/) {
+ $diff[0] =~ s/^$comment-//;
+ $diff[1] =~ s/^$comment\+//;
+ $todo = "$comment-Description-$langage\: ".$diff[0]."\n"
+ ."$comment+Description-$langage\: ".$diff[1]."\n";
+ shift @diff;
+ shift @diff;
+ }
+ $todo = join ("\n", @diff)."\n";
}
}
}
@@ -723,14 +747,15 @@
# Parse bug report
sub parse_bug {
- my $package = shift;
- my $langage = shift;
- my $description = shift;
- my $review = shift;
- my $translation = shift;
- my $bug_number = shift;
- my $reviewer = shift;
- my $message_id = shift;
+ my $package = shift;
+ my $langage = shift;
+ my $description = shift;
+ my $old_description = shift;
+ my $review = shift;
+ my $translation = shift;
+ my $bug_number = shift;
+ my $reviewer = shift;
+ my $message_id = shift;
$debug>2 && print "parse_bug\n";
$debug>3 && print " package: $package\n";
@@ -807,6 +832,19 @@
$debug==2 && print "saving: $package\n";
$debug>3 && print " saving: $package\n";
+
+ # English description has changed
+ if (defined ($old_description)) {
+ # Choose original description
+ $old_description = &get_description("$tr_dir/$package.$sent_e") if (-e "$tr_dir/$package.$sent_e");
+ $old_description = &get_description("$bug_dir/$package.$bug_e.$old_e") if ($patch);
+
+ @diff = split("\n", &superdiff($old_description, $description));
+ @diff = map { /^$comment\+/?$':$_ } @diff;
+ @diff = map { /^$comment-/?"# -$'":$_ } @diff;
+ $description=join("\n", @diff)."\n";
+ }
+
# Re-format review for superdiff
my @review = split("\n", $review);
@review = map { /^## -#/?"$comment--$'":$_ } @review;
@@ -851,8 +889,13 @@
print PKG $header
."# ddts id: $message_id\n"
."# bug nb: $bug_number $l\n"
- ."# reviewer: $reviewer\n"
- ."Description: $description";
+ ."# reviewer: $reviewer\n";
+ my @description = split("\n", $description);
+ if ($description[0] =~ /# -/) {
+ print PKG "# -Description: $'\n";
+ shift @description;
+ }
+ print PKG "Description: $description";
# Gather differences
for ($i = 0; $i<@diff; $i++) {
Reply to: