(big-config) compile: create new repos even if GL_BIG_CONFIG is set

...by expanding the groups of course
This commit is contained in:
Sitaram Chamarty 2010-05-14 20:40:59 +05:30
parent cf0e568c89
commit c8f83a03dd

View file

@ -405,9 +405,18 @@ die "\n\t\t***** AAARGH! *****\n" .
# so if it was not already absolute, prefix $HOME. # so if it was not already absolute, prefix $HOME.
my $repo_base_abs = ( $REPO_BASE =~ m(^/) ? $REPO_BASE : "$ENV{HOME}/$REPO_BASE" ); my $repo_base_abs = ( $REPO_BASE =~ m(^/) ? $REPO_BASE : "$ENV{HOME}/$REPO_BASE" );
wrap_chdir("$repo_base_abs"); {
wrap_chdir("$repo_base_abs");
for my $repo (sort keys %repos) { # autocreate repos. Start with the ones that are normal repos in %repos
my @repos = grep { $_ =~ $REPONAME_PATT and not /^@/ } sort keys %repos;
# then, for each repogroup, find the members of the group and add them in
map { push @repos, keys %{ $groups{$_} } } grep { /^@/ } keys %repos;
# weed out duplicates (the code in the loop below is disk activity!)
my %seen = map { $_ => 1 } @repos;
@repos = sort keys %seen;
for my $repo (sort @repos) {
next unless $repo =~ $REPONAME_PATT; next unless $repo =~ $REPONAME_PATT;
next if $repo =~ m(^\@|EXTCMD/); # these are not real repos next if $repo =~ m(^\@|EXTCMD/); # these are not real repos
unless (-d "$repo.git") { unless (-d "$repo.git") {
@ -427,6 +436,7 @@ for my $repo (sort keys %repos) {
# override with the package hooks # override with the package hooks
ln_sf("$GL_PACKAGE_HOOKS/common", "*", "$repo.git/hooks") if $GL_PACKAGE_HOOKS; ln_sf("$GL_PACKAGE_HOOKS/common", "*", "$repo.git/hooks") if $GL_PACKAGE_HOOKS;
} }
}
} }
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------