On Sunday, April 21, 2002, at 12:26 PM, Andreas J. Koenig wrote:
> Ken's problem is a real one, albeit degenerate. The reason why this
> problem came up, is an underspecification of the semantics of the
> MANIFEST.SKIP file. The original specification did only think of
> files, not directories.

Yeah, and I think part of the problem is that the words "file" 
and "directory" are a little ambiguous too.  Is "file" supposed 
to just mean "plain file", or might it include directories too?  
Lots of places in Perl (readdir, etc) allow us to think of 
directories as special kinds of files, so when I read "file" all 
over the MakeMaker docs I was often thinking of it as "file or 
directory".

> I understand Ken's plea as a vote to extend the semantics with:
>
>     If a regular expression in the MANIFEST.SKIP file matches a
>     directory, the whole directory is skipped.

Yeah, although I don't even think it needs to be so explicit.  
The docs currently say this:


        The file MANIFEST.SKIP may contain regular expressions of
        files that should be ignored by mkmanifest() and
        filecheck().

The only real question is "how we ignore them".  Do we ignore 
each file in a directory separately, or as a batch?  Doesn't 
seem to matter much to me.  The only assumption I'm making (this 
is valid, right?) is that if a regex matches a directory, it 
will also match each file inside that directory.  I think this 
is true on every OS/filesystem I know of.  Of course, you can't 
include files in a directory without including the directory 
itself, but the regex question is (unfortunately) a slightly 
different question.

In any case, I think the above docs could be changed to

        The file MANIFEST.SKIP may contain regular expressions of
        files or directories that should be ignored by mkmanifest() and
        filecheck().

  -Ken

Reply via email to