module FakeFS::FileSystem

def clone(path)

into our fake one
copies directories and files from the real filesystem
def clone(path)
  path    = File.expand_path(path)
  pattern = File.join(path, '**', '*')
  files   = RealFile.file?(path) ? [path] : [path] + RealDir.glob(pattern, RealFile::FNM_DOTMATCH)
  files.each do |f|
    if RealFile.file?(f)
      FileUtils.mkdir_p(File.dirname(f))
      File.open(f, 'w') do |g|
        g.print RealFile.open(f){|h| h.read }
      end
    elsif RealFile.directory?(f)
      FileUtils.mkdir_p(f)
    elsif RealFile.symlink?(f)
      FileUtils.ln_s()
    end
  end
end