From: Daniel Berger Date: 2007-06-13T05:41:52+09:00 Subject: Re: FileUtils.ln cross platform? On Jun 12, 12:51 pm, Trans wrote: > What happens when you use FileUtils.ln on a Windows system. Does it > fail? Is that why Jim Weirich 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. 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