The following patch against bleadperl makes MakeMaker ignore Subversion files,
as it does with CVS/RCS/SCCS files. (Subversion files are kept in .svn/
subdirectories in each directory under version control.)
[Note that bleadperl has apparently MakeMaker 6.03, while the CPAN version
is 6.05. I found this a bit frustrating (especially because I would be very
happy if my patch could make its way into bleadperl rapidly.)
So I guess that the plan would be to update the CPAN version and then
to integrate it into bleadperl.]
Index: lib/ExtUtils/MANIFEST.SKIP
===================================================================
--- lib/ExtUtils/MANIFEST.SKIP
+++ lib/ExtUtils/MANIFEST.SKIP Tue Oct 22 15:41:55 2002
@@ -2,6 +2,7 @@
\bRCS\b
\bCVS\b
,v$
+\.svn\b
# Avoid Makemaker generated and utility files.
^MANIFEST\.bak
Index: lib/ExtUtils/Manifest.pm
===================================================================
--- lib/ExtUtils/Manifest.pm
+++ lib/ExtUtils/Manifest.pm Tue Oct 22 15:46:10 2002
@@ -467,6 +467,7 @@
\bRCS\b
\bCVS\b
,v$
+ \.svn\b
# Makemaker generated files and dirs.
^MANIFEST\.
Index: lib/ExtUtils/MM_Unix.pm
===================================================================
--- lib/ExtUtils/MM_Unix.pm
+++ lib/ExtUtils/MM_Unix.pm Tue Oct 22 15:51:01 2002
@@ -1376,7 +1376,7 @@
require File::Find;
File::Find::find(sub {
if (-d $_){
- if ($_ eq "CVS" || $_ eq "RCS"){
+ if ($_ eq "CVS" || $_ eq "RCS" || $_ eq ".svn"){
$File::Find::prune = 1;
}
return;
@@ -2366,7 +2366,7 @@
Takes a path to a file that is found by init_dirscan and returns false
if we don't want to include this file in the library. Mainly used to
-exclude RCS, CVS, and SCCS directories from installation.
+exclude RCS, CVS, SCCS and Subversion directories from installation.
=cut
@@ -2374,7 +2374,7 @@
sub libscan {
my($self,$path) = @_;
- return '' if $path =~ m:\b(RCS|CVS|SCCS)\b: ;
+ return '' if $path =~ m:\b(RCS|CVS|SCCS|\.svn)\b: ;
$path;
}
Index: lib/ExtUtils/t/MM_Unix.t
===================================================================
--- lib/ExtUtils/t/MM_Unix.t
+++ lib/ExtUtils/t/MM_Unix.t Tue Oct 22 15:55:39 2002
@@ -18,7 +18,7 @@
plan skip_all => 'Non-Unix platform';
}
else {
- plan tests => 112;
+ plan tests => 113;
}
}
@@ -168,7 +168,8 @@
is ($t->libscan('RCS'),'','libscan on RCS');
is ($t->libscan('CVS'),'','libscan on CVS');
is ($t->libscan('SCCS'),'','libscan on SCCS');
-is ($t->libscan('Fatty'),'Fatty','libscan on something not RCS, CVS or SCCS');
+is ($t->libscan('.svn'),'','libscan on Subversion');
+is ($t->libscan('Fatty'),'Fatty','libscan on something not RCS, CVS, SCCS or SVN');
###############################################################################
# maybe_command
Index: lib/ExtUtils/MM_MacOS.pm
===================================================================
--- lib/ExtUtils/MM_MacOS.pm
+++ lib/ExtUtils/MM_MacOS.pm Tue Oct 22 15:52:58 2002
@@ -544,7 +544,7 @@
require File::Find;
File::Find::find(sub {
if (-d $_){
- if ($_ eq "CVS" || $_ eq "RCS"){
+ if ($_ eq "CVS" || $_ eq "RCS" || $_ eq ".svn"){
$File::Find::prune = 1;
}
return;
@@ -582,7 +582,7 @@
Takes a path to a file that is found by init_dirscan and returns false
if we don't want to include this file in the library. Mainly used to
-exclude RCS, CVS, and SCCS directories from installation.
+exclude RCS, CVS, SCCS and Subversion directories from installation.
=cut
@@ -590,7 +590,7 @@
sub libscan {
my($self,$path) = @_;
- return '' if $path =~ m/:(RCS|CVS|SCCS):/ ;
+ return '' if $path =~ m/:(RCS|CVS|SCCS|\.svn):/ ;
$path;
}
End of Patch.