I wrote:
> 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.)
Sorry, bad patch, I just remembered about \B which gives a much
better regexp to check for subversion subdirs. New patch :
Index: lib/ExtUtils/MANIFEST.SKIP
===================================================================
--- lib/ExtUtils/MANIFEST.SKIP
+++ lib/ExtUtils/MANIFEST.SKIP Tue Oct 22 17:08:34 2002
@@ -2,6 +2,7 @@
\bRCS\b
\bCVS\b
,v$
+\B\.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 17:09:08 2002
@@ -467,6 +467,7 @@
\bRCS\b
\bCVS\b
,v$
+ \B\.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 17:09:03 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:(\bRCS|\bCVS|\bSCCS|\B\.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 17:09:17 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 16:09:19 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.