- ($merge_status,$bugs_to_merge) =
- __calculate_merge_status(\@data,\%data,$param{bug});
+ ($merge_status,$bugs_to_merge) =
+ __calculate_merge_status(\@data,\%data,$param{bug},$merge_status);
($disallowed_changes,$changes) =
__calculate_merge_changes(\@data,$merge_status,\%param);
$attempts = max(values %bug_changed);
($disallowed_changes,$changes) =
__calculate_merge_changes(\@data,$merge_status,\%param);
$attempts = max(values %bug_changed);
- for my $bug (@{$bugs}) {
- my @lockfiles = grep {m{/\Q$bug\E$}} keys %{$locks->{locks}};
+ my @locks = (@{$bugs},'merge');
+ for my $lock (@locks) {
+ my @lockfiles = grep {m{/\Q$lock\E$}} keys %{$locks->{locks}};
- my ($data_a,$data_h,$master_bug,$merge) = @_;
- my %merge_status;
+ my ($data_a,$data_h,$master_bug,$merge_status) = @_;
+ my %merge_status = %{$merge_status // {}};
$merge_status{tag} = {} if not exists $merge_status{tag};
for my $tag (split /\s+/, $data->{keywords}) {
$merge_status{tag}{$tag} = 1;
$merge_status{tag} = {} if not exists $merge_status{tag};
for my $tag (split /\s+/, $data->{keywords}) {
$merge_status{tag}{$tag} = 1;