def copy_revision_files(src_session, src_sha1, dest_dir, ignores)
    Dir.mktmpdir do |tmp_dir|
      tmp_dir = Dir.glob(tmp_dir)[0]
      src_session.execute("git archive --format tar #{src_sha1} #{@module_info.local_path} | tar -C #{tmp_dir} -xf -")
      tmp_module_dir = File.join(tmp_dir, @module_info.local_path)
      files = FileHelper.find_matching_files(tmp_module_dir, false, "/**/*", File::FNM_DOTMATCH)
      files.delete(".")
      files.delete("..")
      files.delete(RimInfo::InfoFileName)
      files -= FileHelper.find_matching_files(tmp_module_dir, false, ignores)
      # have source files now. Now clear destination folder and copy
      prepare_empty_folder(dest_dir, ".git/**/*")
      files.each do |f|
        src_path = File.join(tmp_module_dir, f)
        if File.file?(src_path)
          path = File.join(dest_dir, f)
          FileUtils.mkdir_p(File.dirname(path))
          FileUtils.cp(src_path, path)
        end        
      end
    end 
  end
def copy_revision_files(src_session, src_sha1, dest_dir, ignores)
    Dir.mktmpdir do |tmp_dir|
      tmp_dir = Dir.glob(tmp_dir)[0]
      src_session.execute("git archive --format tar #{src_sha1} #{@module_info.local_path} | tar -C #{tmp_dir} -xf -")
      tmp_module_dir = File.join(tmp_dir, @module_info.local_path)
      files = FileHelper.find_matching_files(tmp_module_dir, false, "/**/*", File::FNM_DOTMATCH)
      files.delete(".")
      files.delete("..")
      files.delete(RimInfo::InfoFileName)
      files -= FileHelper.find_matching_files(tmp_module_dir, false, ignores)
      # have source files now. Now clear destination folder and copy
      prepare_empty_folder(dest_dir, ".git/**/*")
      files.each do |f|
        src_path = File.join(tmp_module_dir, f)
        if File.file?(src_path)
          path = File.join(dest_dir, f)
          FileUtils.mkdir_p(File.dirname(path))
          FileUtils.cp(src_path, path)
        end        
      end
    end 
  end
def copy_revision_files ( src_session , src_sha1 , dest_dir , ignores ) Dir . mktmpdir do | tmp_dir | tmp_dir = Dir . glob ( tmp_dir ) [ 0 ] src_session . execute ( "git archive --format tar #{src_sha1} #{@module_info.local_path} | tar -C #{tmp_dir} -xf -" ) tmp_module_dir = File . join ( tmp_dir , @module_info . local_path ) files = FileHelper . find_matching_files ( tmp_module_dir , false , "/**/*" , File :: FNM_DOTMATCH ) files . delete ( "." ) files . delete ( ".." ) files . delete ( RimInfo :: InfoFileName ) files -= FileHelper . find_matching_files ( tmp_module_dir , false , ignores ) # have source files now. Now clear destination folder and copy prepare_empty_folder ( dest_dir , ".git/**/*" ) files . each do | f | src_path = File . join ( tmp_module_dir , f ) if File . file? ( src_path ) path = File . join ( dest_dir , f ) FileUtils . mkdir_p ( File . dirname ( path ) ) FileUtils . cp ( src_path , path ) end end end end
copy files from given source revision into destination dir
copy files from given source revision into destination dir