Francois Gouget : testbot: Don't overwrite existing patch series parts.
Alexandre Julliard
julliard at winehq.org
Thu Feb 27 10:32:43 CST 2020
Module: tools
Branch: master
Commit: 8592ad779e2cd0a80895c90eefbf947085b39df7
URL: https://source.winehq.org/git/tools.git/?a=commit;h=8592ad779e2cd0a80895c90eefbf947085b39df7
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Wed Feb 26 10:37:33 2020 +0100
testbot: Don't overwrite existing patch series parts.
Assume any new email bearing the same part number is either a reply, or
a collision from another series and should thus be ignored.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47042
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
testbot/lib/WineTestBot/PendingPatchSets.pm | 46 +++++++++++++++--------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/testbot/lib/WineTestBot/PendingPatchSets.pm b/testbot/lib/WineTestBot/PendingPatchSets.pm
index adabf2e..cfa6dc0 100644
--- a/testbot/lib/WineTestBot/PendingPatchSets.pm
+++ b/testbot/lib/WineTestBot/PendingPatchSets.pm
@@ -243,50 +243,52 @@ sub NewSubmission($$$)
my $Parts = $Set->Parts;
my $Part = $Parts->GetItem($SubjectInfo->{PartNo});
- if (! defined($Part))
+ if ($Part)
{
- $Part = $Parts->Add();
- $Part->No($SubjectInfo->{PartNo});
+ $Patch->Disposition("Existing part reply / collision");
+ return undef;
}
+ $Part = $Parts->Add();
+ $Part->No($SubjectInfo->{PartNo});
$Part->Patch($Patch);
my ($_ErrKey, $_ErrProperty, $ErrMessage) = $self->Save();
if (defined($ErrMessage))
{
$Patch->Disposition("Error occurred during series processing");
+ return undef;
}
if (! $Set->CheckSubsetComplete($SubjectInfo->{PartNo}))
{
$Patch->Disposition("Set not complete yet");
+ return undef;
}
- else
+
+ my $PartNo = $SubjectInfo->{PartNo};
+ my $AllPartsAvailable = 1;
+ while ($PartNo <= $Set->TotalParts && $AllPartsAvailable &&
+ !defined $ErrMessage)
{
- my $PartNo = $SubjectInfo->{PartNo};
- my $AllPartsAvailable = 1;
- while ($PartNo <= $Set->TotalParts && $AllPartsAvailable &&
- ! defined($ErrMessage))
+ my $Part = $Parts->GetItem($PartNo);
+ if (defined $Part)
{
- my $Part = $Parts->GetItem($PartNo);
- if (defined($Part))
+ $ErrMessage = $Set->SubmitSubset($PartNo, $Part->Patch);
+ if (!defined $ErrMessage)
{
- $ErrMessage = $Set->SubmitSubset($PartNo, $Part->Patch);
- if (!defined $ErrMessage)
- {
- ($_ErrProperty, $ErrMessage) = $Part->Patch->Save();
- }
+ ($_ErrProperty, $ErrMessage) = $Part->Patch->Save();
}
- else
- {
- $AllPartsAvailable = !1;
- }
- $PartNo++;
}
- if ($AllPartsAvailable && ! defined($ErrMessage))
+ else
{
- $self->DeleteItem($Set);
+ $AllPartsAvailable = !1;
}
+ $PartNo++;
+ }
+ if ($AllPartsAvailable && ! defined($ErrMessage))
+ {
+ $self->DeleteItem($Set);
}
return $ErrMessage;
More information about the wine-cvs
mailing list