Directory copying using hard links?

Is there an “official” way of recursively copying directories so that
individual files are hard-linked (if possible)? FileUtils has methods
for creating single hard links (#ln) as well as for recursive copying
(#cp_r). What’s missing is the combination, essentially a call to

cp -al src dest

However, I’m wary of using this instead of FileUtils.cp_r(src, dest) as
the semantics are different. #cp_r makes a copy with path dest of a
directory with path src. In contrast, cp -a src dest copies src into(!)
dest. Now, File.dirname(File.expand_path(dest)) gives me the parent
directory, but I’m simply not sure whether it works as intended in all

Any suggestions?


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs