Chris Dagnon
2/7/2006 9:48:00 PM
POSIX-y - oh, right. I'm still not used to crossing the Win/not-Win line
yet :) It was strange to see the file attributes of ctime = change time,
instead of create time. Back to the point, though, if Dir.chdir isn't a
read and it isn't an execute (and I assume it isn't a write), what kind of
operation is it? And can someone add that method to Ruby's File or Dir?
I'm hoping I don't run into this problem often - I've gone through a
couple larger partitions and things have worked well except for this one
thing. I'm more than a little surprised that it happened with SVI but not
with Recycler. And while I don't trust what I can't see and Window's
ACLs are definitely on that list, it gets hard to do anything if I don't
assume things are working the way it looks like they should. No one has
made enough documentation to dissuade that state of affairs :(
To address Daniel Berger's comment (which jogged my memory of this),
unfortunately in the WindowsXP GUI nothing is cut-and-dried: a checkbox
square can contain a square instead of a checkmark if it is only partially
true. Here it must be that some of the directory's files are read-only
but others are not. So it may not reflect anything about the directory
itself. I'm beginning to understand my confusion...
Well, Thanks guys,
-Chris
David Vallner said:
> DÅ?a Utorok 07 Február 2006 20:49 Chris napÃsal:
>> This problem comes up because WinXP keeps putting it's 'System Volume
>> Information' directories on each partition. In this case, I think the
>> FS
>> was created by an earlier incarnation of the machine I'm on.
>>
>> However it is marked Read Only, and there doesn't seem to be any way to
>> change it. Properties window says it is Read only (with a square, not a
>> checkmark) and Hidden, and it lets me think I'm changing it, even asks
>> if
>> I want to change all subordinates, but never changes it. That's an OT,
>> but I'd be happy to hear a solution to it.
>
> The Properties window doesn't display whether a directory is or is not
> readable as per the POSIX-y meaning of the concept. It should technically
> display as read-only, if the contents of the directory are read-only, but
> the
> contents aren't actually checked, if only because it might end up taking
> bloody long. I'm not even sure how those vestigial FAT attributes map to
> NTFS
> ones. If you really want to get nitty-gritty with the system, check
> whatever
> setting it is that's hiding the NTFS ACLs from you and look at those.
>
> Slight sidenote: You really don't want to touch System Volume Information
> unless you really know what you're doing.
>
>>
>> The problem I'm having is that File.readable? and File.executable? both
>> give me true for that directory, but if I try Dir.chdir into it, it
>> throws
>> an exception.
>>
>> Is there a check I can do, or is my only option: rescue Errno::EACCES?
>> And I guess the followup is: is it much more expensive in Ruby to catch
>> exceptions than to execute regular code (as it is in Java)?
>>
>
> Do you expect to run into inaccessible directories in the script more
> often
> than you actually process data in accessible ones? Unless so, I say don't
> bother and use Errno::EACCES. The overhead isn't likely to be significant
> compared to total execution time.
>
> David Vallner