All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
166ff8a)
mrconfig files can be symlinks to files in other directories. But the directory
the file is is significant, as it's the directory paths in the file
are relative to. abs_path follows the symlink, so take care not to use it.
Getopt::Long::Configure("no_permute");
my $result=GetOptions(
"d|directory=s" => sub { $directory=abs_path($_[1]) },
Getopt::Long::Configure("no_permute");
my $result=GetOptions(
"d|directory=s" => sub { $directory=abs_path($_[1]) },
- "c|config=s" => sub { $ENV{MR_CONFIG}=abs_path($_[1]) },
+ "c|config=s" => \$ENV{MR_CONFIG},
"v|verbose" => \$verbose,
"s|stats" => \$stats,
"n|no-recurse" => \$no_recurse,
"v|verbose" => \$verbose,
"s|stats" => \$stats,
"n|no-recurse" => \$no_recurse,
+# Make sure MR_CONFIG is an absolute path, but don't use abs_path since
+# the config file might be a symlink to elsewhere, and the directory it's
+# in is significant.
+if ($ENV{MR_CONFIG} !~ /^\//) {
+ $ENV{MR_CONFIG}=getcwd()."/".$ENV{MR_CONFIG};
+}
+
loadconfig(\*DATA);
loadconfig($ENV{MR_CONFIG});
#use Data::Dumper;
loadconfig(\*DATA);
loadconfig($ENV{MR_CONFIG});
#use Data::Dumper;
if ($section=~/^\//) {
# try to convert to a path relative to the config file
my ($dir)=$ENV{MR_CONFIG}=~/^(.*\/)[^\/]+$/;
if ($section=~/^\//) {
# try to convert to a path relative to the config file
my ($dir)=$ENV{MR_CONFIG}=~/^(.*\/)[^\/]+$/;
+ $dir=abs_path($dir);
+ $dir.="/" unless $dir=~/\/$/;
if ($section=~/^\Q$dir\E(.*)/) {
$section=$1;
}
if ($section=~/^\Q$dir\E(.*)/) {
$section=$1;
}