Matthew Mastracci wrote:
...

The fileset directory scanning logic in NAnt is somewhat unintelligent as to how deep it goes. We made this tradeoff in the past so that we can better combine multiple recursive filesets without a major performance hit. For instance, NAnt's filescanner is just as fast to scan "**/*.xml" as it is to scan both "**/*.xml" and "**/*.java". Cygwin's globbing has a much easier task - it only needs to evaluate each path segment wildcard once. :)

Internally, we have a flag "isRecursive" that we set on patterns that reflects whether the pattern potentially matches more than a single directory:

Without studying the code to figure out the intent of the recursive flag, my gut intuition is that only the ** implies recursion. That is, given a pattern

     **/foo/bar*

you have to check every folder in the tree to see if it has a match for the foo/bar* pattern. In other words, the foo/bar* must be applied at various levels in the tree. But why should
    */foo/bar*
be considered recursive?

Gary

PS The tests should be there, anyway. One of the important points of agile methodologies is that a comprehensive test suite makes it much cheaper to fix design problems.



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to