=head1 CONFIGURATION
Reads configuration information from Start by parsing /etc/sa.conf,
-then ~/.sarc then ~/.sarc_$hostname, then ~/.sarc_local
+then the contents of ~/sa.d/ which match ^[\w\d][\w\d_-.]+$
The configuration file contains a list of svn repositories which
should be queried; each line can contain a tab, which indicates that
-the command following the tab should be run fater the svn directory is
+the command following the tab should be run after the svn directory is
updated.
The configuration files are read in the order given above.
}
}
-
my $HOME=User->Home;
my $HOSTNAME=qx(hostname);
$HOSTNAME=~s/\n//g;
$CAN_IGNORE_EXTERNALS = 1;
}
+sub available_config_files{
+ my $dir = new IO::Dir "$HOME/.sa.d/";
+ my @conffiles;
+ my $file;
+ while (defined($file = $dir->read)) {
+ next unless $file =~ /^[\w\d][\w\d_-.]+$/;
+ push @conffiles,$file;
+ }
+ return @conffiles;
+}
+
my %repos;
-for ('/etc/sa.conf', "${HOME}/.sarc", "${HOME}/.sarc_${HOSTNAME}", "${HOME}/.sarc_local") {
+for ('/etc/sa.conf', available_config_files()) {
if (-e $_) {
parse_config_file(\%repos,$_,$HOME);
}