aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-05-13 13:22:16 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-05-13 13:22:16 +0200
commit777967f97b8cd615807868d90e4f61a1c4faf024 (patch)
tree4f3c6a1101b6f5140fdf104f3bf36648ee6452f0
parent868e545eb2402063b562383f944fb5b865022de2 (diff)
parent9812986913250f1f61d90f1e75a3192b11533829 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
skipped all sha1 updates. Change-Id: I1f741cf7bea806ab238b4f1b5585bb440dafd4f7
-rwxr-xr-xinit-repository32
1 files changed, 21 insertions, 11 deletions
diff --git a/init-repository b/init-repository
index fd291252..2580b0f6 100755
--- a/init-repository
+++ b/init-repository
@@ -333,26 +333,36 @@ sub git_clone_all_submodules
my %include = ();
foreach my $mod (@subset) {
+ my $del = ($mod =~ s/^-//);
+ my $fail = 0;
+ my @what;
if ($mod eq "all") {
- map { $include{$_} = 1; } keys %subbases;
+ @what = keys %subbases;
} elsif ($mod eq "essential") {
- map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
+ @what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
} elsif ($mod eq "addon") {
- map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
+ @what = grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
} elsif ($mod eq "preview") {
- map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
+ @what = grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
} elsif ($mod eq "deprecated") {
- map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
+ @what = grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
} elsif ($mod eq "obsolete") {
- map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
- } elsif ($mod =~ s/^-//) {
+ @what = grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
+ } elsif ($mod eq "ignore") {
+ @what = grep { ($subinits{$_} || 0) eq 0 } keys %subbases;
+ } elsif (defined($subdirs{$mod})) {
+ push @what, $mod;
+ } else {
+ $fail = 1;
+ }
+ if ($del) {
print "Warning: excluding non-existent module '$mod'.\n"
- if (!defined($subdirs{$mod}));
- delete $include{$mod};
+ if ($fail);
+ map { delete $include{$_} } @what;
} else {
die("Error: module subset names non-existent '$mod'.\n")
- if (!defined($subdirs{$mod}));
- $include{$mod} = 1;
+ if ($fail);
+ map { $include{$_} = 1; } @what;
}
}