FileUtils.ln cross platform?

What happens when you use FileUtils.ln on a Windows system. Does it
fail? Is that why Jim W. uses #safe_ln, eg.

LINKING_SUPPORTED = [true]

Attempt to do a normal file link, but fall back

to a copy if the link fails.

def safe_ln(*args)
unless LINKING_SUPPORTED[0]
cp(*args)
else
begin
ln(*args)
rescue Errno::EOPNOTSUPP
LINKING_SUPPORTED[0] = false
cp(*args)
end
end
end

If so, is there a better way? Or why wouldn’t this be built into Ruby.

Thanks,
T.

On Jun 12, 12:51 pm, Trans [email protected] wrote:

else

Thanks,
T.

With 1.8.5 FileUtils.ln simply copied the file. Without digging into
changelogs, I can only speculate that it may have been an unsupported
op in earlier versions of Ruby, and that’s why Jim added extra code.

Note that with the advent of Vista the issue of symlinks on Windows
will need to be revisited.

Regards,

Dan

On Jun 12, 4:41 pm, Daniel B. [email protected] wrote:

to a copy if the link fails.

end

end

If so, is there a better way? Or why wouldn’t this be built into Ruby.

Thanks,
T.

With 1.8.5 FileUtils.ln simply copied the file. Without digging into
changelogs, I can only speculate that it may have been an unsupported
op in earlier versions of Ruby, and that’s why Jim added extra code.

Excellent. Glad I don;t have to mess with it. Thanks Dan!

Note that with the advent of Vista the issue of symlinks on Windows
will need to be revisited.

Indeed. I heard it supports them, but later heard that they aren’t
really the same thing. Are you using Vista yet. Do you know?

T.

On Jun 12, 4:41 pm, Trans [email protected] wrote:

On Jun 12, 4:41 pm, Daniel B. [email protected] wrote:

Note that with the advent of Vista the issue of symlinks on Windows
will need to be revisited.

Indeed. I heard it supports them, but later heard that they aren’t
really the same thing. Are you using Vista yet. Do you know?

T.- Hide quoted text -

I don’t have Vista yet. I’m waiting until Leopard is released, at
which point I’ll setup a dual boot config on my Mac tower. Hopefully,
SP 1 will be out by then.

As for whether or not they’re the same thing, the docs for
CreateSymbolicLink() sure seem to indicate they are:

Regards,

Dan

On Jun 13, 10:30 am, Daniel B. [email protected] wrote:

really the same thing. Are you using Vista yet. Do you know?
CreateSymbolicLinkA function (winbase.h) - Win32 apps | Microsoft Learn
Yup. You are right.

“Microsoft has implemented its symbolic links to function just like
UNIX links.”

Symbolic Links - Win32 apps | Microsoft Learn

Somewhere I picked up some bad info. Thanks for setting me straight.

T.