#645 <fileset> patterns - case sensitivity inconsistent

0.85
closed-fixed
Core (183)
5
2007-08-22
2007-07-26
JeffyW
No

I've found that the fileset patterns seem to behave differently depending on the base directory on a case INsensitive OS. For example, my setup is as follows:

I have the following files:
c:\AUTOEXEC.BAT
c:\test.bat
c:\test\AUTOEXEC.BAT
c:\test\test.bat

Using the below code (requires NANT.CONTRIB for printing filesets):
<project default="test"><target name="test" >
<fileset basedir="c:\" id="test.fileset">
<include name="*.bat" />
</fileset>
<echo message="Root: ${fileset::to-string('test.fileset', ' | ')}" />

<fileset basedir="c:\test" id="test.fileset">
<include name="*.bat" />
</fileset>
<echo message="Test: ${fileset::to-string('test.fileset', ' | ')}" />
</target></project>

the output is:
[echo] Root: c:\test.bat
[echo] Test: c:\test\AUTOEXEC.BAT | c:\test\test.bat

The same is also the case with UNC's such that using a basedir of \\Machine\Share is case sensitive while \\Machine\Share\Dir is not.

Discussion

  • Gert Driesen

    Gert Driesen - 2007-08-22
    • assigned_to: nobody --> drieseng
    • status: open --> closed-fixed
     
  • Gert Driesen

    Gert Driesen - 2007-08-22

    Logged In: YES
    user_id=707851
    Originator: NO

    The GetVolumeInformation API call that we were using to determine if a volume was case-sensitive did not provide the information we expected. I've removed its usage, and we now only consider a filesystem case-sensitive if we're running on unix.

    This is not really correct, but it's a lot better than the previous behaviour.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks