This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Only load Maintainers.pm if cmpVERSION.pl is invoked with -x
authorNicholas Clark <nick@ccl4.org>
Thu, 19 May 2011 15:39:50 +0000 (16:39 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 23 May 2011 14:07:27 +0000 (15:07 +0100)
Skip chdir $source_dir with -x, because -x checks that it's '.'

Porting/cmpVERSION.pl

index dd3d20c..81384f2 100755 (executable)
@@ -20,9 +20,6 @@ use File::Find;
 use File::Spec::Functions qw(rel2abs abs2rel catfile catdir curdir);
 use Getopt::Std;
 
-use lib 'Porting';
-use Maintainers;
-
 sub usage {
 die <<"EOF";
 usage: $0 [ -d -x ] source_dir tag_to_compare
@@ -51,16 +48,18 @@ my %dual_files;
 if ($opts{x}) {
     die "With -x, the directory must be '.'\n"
        unless $source_dir eq '.';
-    for my $m (grep $Maintainers::Modules{$_}{CPAN},
-                               keys %Maintainers::Modules)
-    {
 
+    unshift @INC, 'Porting';
+    require Maintainers;
+
+    for my $m (grep $Maintainers::Modules{$_}{CPAN},
+                               keys %Maintainers::Modules) {
        $dual_files{$_} = 1 for Maintainers::get_module_files($m);
     }
+} else {
+    chdir $source_dir or die "$0: chdir '$source_dir' failed: $!\n";
 }
 
-chdir $source_dir or die "$0: chdir '$source_dir' failed: $!\n";
-
 # Files to skip from the check for one reason or another,
 # usually because they pull in their version from some other file.
 my %skip;