Parent

Methods

Files

Class/Module Index [+]

Quicksearch

FileUtils::Entry_

Public Instance Methods

copy_metadata(path) click to toggle source
# File lib/chef/monkey_patches/fileutils.rb, line 29
def copy_metadata(path)
  st = lstat()
  if !st.symlink?
    File.utime st.atime, st.mtime, path
  end
  begin
    if st.symlink?
      begin
        File.lchown st.uid, st.gid, path
      rescue NotImplementedError
      end
    else
      File.chown st.uid, st.gid, path
    end
  rescue Errno::EPERM
    # clear setuid/setgid
    if st.symlink?
      begin
        File.lchmod st.mode & 01777, path
      rescue NotImplementedError
      end
    else
      File.chmod st.mode & 01777, path
    end
  else
    if st.symlink?
      begin
        File.lchmod st.mode, path
      rescue NotImplementedError
      end
    else
      File.chmod st.mode, path
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.