my ($opt, $val) = @_;
if ($opt eq "archive") { $common_archive = $val; }
if ($opt eq "repeatmerged") { $common_repeatmerged = $val; }
- if ($opt eq "exclude") { %common_exclude = %{$val}; }
- if ($opt eq "include") { %common_include = %{$val}; }
+ if ($opt eq "exclude") {
+ my @vals;
+ @vals = ( $val ) if (ref($val) eq "" && $val );
+ @vals = ( $$val ) if (ref($val) eq "SCALAR" && $$val );
+ @vals = @{$val} if (ref($val) eq "ARRAY" );
+ %common_exclude = map {
+ if (/^(.*):(.*)$/) { ($1, $2) } else { ($_, 1) }
+ } split /[\s,]+/, join ',', @vals;
+ }
+ if ($opt eq "include") {
+ my @vals;
+ @vals = ( $val, ) if (ref($val) eq "" && $val );
+ @vals = ( $$val, ) if (ref($val) eq "SCALAR" && $$val );
+ @vals = @{$val} if (ref($val) eq "ARRAY" );
+ %common_include = map {
+ if (/^(.*):(.*)$/) { ($1, $2) } else { ($_, 1) }
+ } split /[\s,]+/, join ',', @vals;
+ }
if ($opt eq "raw") { $common_raw_sort = $val; }
if ($opt eq "bug-rev") { $common_bug_reverse = $val; }
if ($opt eq "pend-rev") { $common_pending_reverse = $val; }
my $repeatmerged = ($param{'repeatmerged'} || "yes") eq "yes";
my $archive = ($param{'archive'} || "no") eq "yes";
-my $include = $param{'include'} || "";
-my $exclude = $param{'exclude'} || "";
+my $include = $param{'&include'} || $param{'include'} || "";
+my $exclude = $param{'&exclude'} || $param{'exclude'} || "";
my $raw_sort = ($param{'raw'} || "no") eq "yes";
my $bug_rev = ($param{'bug-rev'} || "no") eq "yes";
my $pend_rev = ($param{'pend-rev'} || "no") eq "yes";
set_option("repeatmerged", $repeatmerged);
set_option("archive", $archive);
-set_option("include", { map {if (m/^(.*):(.*)$/) { ($1,$2) } else { ($_,1) }} (split /[\s,]+/, $include) })
- if ($include);
-set_option("exclude", { map {if (m/^(.*):(.*)$/) { ($1,$2) } else { ($_,1) }} (split /[\s,]+/, $exclude) })
- if ($exclude);
+set_option("include", $include);
+set_option("exclude", $exclude);
set_option("raw", $raw_sort);
set_option("bug-rev", $bug_rev);
set_option("pend-rev", $pend_rev);