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