Hi Michael,
I've put some of my CPAN modules into Subversion, the new source code
management system to replace CVS, see
http://subversion.tigris.org/
http://svn.orcaware.com:8000/repos/trunk/apache_configparser/
I've attached a patch to make MakeMaker ignore Subversion's .svn
directories, analogous to RCS, CVS, etc.
You may want to take a look at my changes to libscan in MM_Unix.pm.
The original libscan had this:
- return '' if $path =~ m:\b(RCS|CVS|SCCS)\b: ;
and I changed it to this:
+ return '' if $path =~ m:(\bRCS|\bCVS|\bSCCS|\.svn)\b: ;
I originally tried this:
+ return '' if $path =~ m:\b(RCS|CVS|SCCS|\.svn)\b: ;
but this didn't match on .svn, because the \b in front. I'm not too
happy with the new code, so you may want to figure out a better match
for .svn.
Also, I noticed that libscan for MM_MacOS and MM_Unix differ in the
regular expression. The MacOS version doesn't have the \b's.
Best,
Blair
--
Blair Zajac <[EMAIL PROTECTED]>
Web and OS performance plots - http://www.orcaware.com/orca/
diff -ru ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/Manifest.pm
./lib/ExtUtils/Manifest.pm
--- ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/Manifest.pm 2002-05-25
14:17:51.000000000 -0700
+++ ./lib/ExtUtils/Manifest.pm 2002-11-18 12:45:46.000000000 -0800
@@ -466,6 +466,7 @@
# Version control files and dirs.
\bRCS\b
\bCVS\b
+ \b.svn\b
,v$
# Makemaker generated files and dirs.
diff -ru ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MANIFEST.SKIP
./lib/ExtUtils/MANIFEST.SKIP
--- ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MANIFEST.SKIP 2002-03-24
23:19:30.000000000 -0800
+++ ./lib/ExtUtils/MANIFEST.SKIP 2002-11-18 12:45:23.000000000 -0800
@@ -1,6 +1,7 @@
# Avoid version control files.
\bRCS\b
\bCVS\b
+\b.svn\b
,v$
# Avoid Makemaker generated and utility files.
diff -ru ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MM_MacOS.pm
./lib/ExtUtils/MM_MacOS.pm
--- ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MM_MacOS.pm 2002-08-26
18:27:56.000000000 -0700
+++ ./lib/ExtUtils/MM_MacOS.pm 2002-11-18 12:44:40.000000000 -0800
@@ -542,7 +542,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;
@@ -580,7 +580,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 .svn directories from installation.
=cut
@@ -588,7 +588,7 @@
sub libscan {
my($self,$path) = @_;
- return '' if $path =~ m/:(RCS|CVS|SCCS):/ ;
+ return '' if $path =~ m/:(RCS|CVS|SCCS|\.svn):/ ;
$path;
}
diff -ru ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MM_Unix.pm ./lib/ExtUtils/MM_Unix.pm
--- ../ExtUtils-MakeMaker-6.05.0/lib/ExtUtils/MM_Unix.pm 2002-08-26
18:17:55.000000000 -0700
+++ ./lib/ExtUtils/MM_Unix.pm 2002-11-18 12:58:13.000000000 -0800
@@ -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;
@@ -2386,7 +2386,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 .svn directories from installation.
=cut
@@ -2394,7 +2394,7 @@
sub libscan {
my($self,$path) = @_;
- return '' if $path =~ m:\b(RCS|CVS|SCCS)\b: ;
+ return '' if $path =~ m:(\bRCS|\bCVS|\bSCCS|\.svn)\b: ;
$path;
}
diff -ru ../ExtUtils-MakeMaker-6.05.0/t/MM_Unix.t ./t/MM_Unix.t
--- ../ExtUtils-MakeMaker-6.05.0/t/MM_Unix.t 2002-05-05 18:20:34.000000000 -0700
+++ ./t/MM_Unix.t 2002-11-18 12:47:59.000000000 -0800
@@ -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 .svn');
+is ($t->libscan('Fatty'),'Fatty','libscan on something not RCS, CVS SCCS or .svn');
###############################################################################
# maybe_command