diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-11-06 18:26:01 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-11-06 18:27:30 +0000 |
commit | 5dd559b5eaedf57a1081c03ab8602669c9e72e4a (patch) | |
tree | 8a198767db4cebd216514217b1a752a861306784 /dgit | |
parent | 0e7753f7935b97bb3f7e3921651006e41bff0cca (diff) |
dgit: config: Allow dgit-suite.PATTERN.distro
This is going to be useful for *-security.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -36,6 +36,7 @@ use Digest::SHA; use Digest::MD5; use List::Util qw(any); use List::MoreUtils qw(pairwise); +use Text::Glob qw(match_glob); use Carp; use Debian::Dgit; @@ -694,8 +695,19 @@ sub access_basedistro () { if (defined $idistro) { return $idistro; } else { - return cfg("dgit-suite.$isuite.distro", - "dgit.default.distro"); + my $def = cfg("dgit-suite.$isuite.distro", 'RETURN-UNDEF'); + return $def if defined $def; + foreach my $src (@gitcfgsources, 'internal') { + my $kl = $src eq 'internal' ? \%defcfg : $gitcfgs{$src}; + next unless $kl; + foreach my $k (keys %$kl) { + next unless $k =~ m#^dgit-suite\.(.*)\.distro$#; + my $dpat = $1; + next unless match_glob $dpat, $isuite; + return $kl->{$k}; + } + } + return cfg("dgit.default.distro"); } } |