def commit_source_archive(file, message)
      from_directory do
        result_dir = File.join(packages_dir, name)
        FileUtils.mkdir_p(result_dir)

        result_path = File.join(result_dir, File.basename(file))
        FileUtils.cp(file, result_path)
        @git.commit_file(result_path, "Source archive added")

        unarchiver = if file =~ /\.zip$/
                       Tetra::Unzip.new
                     else
                       Tetra::Tar.new
                     end

        Dir.glob(File.join("src", "*")).each { |f| FileUtils.rm_rf(f) }
        unarchiver.decompress(file, "src")
        commit_sources(message, true)
      end
    end
def commit_source_archive(file, message)
      from_directory do
        result_dir = File.join(packages_dir, name)
        FileUtils.mkdir_p(result_dir)

        result_path = File.join(result_dir, File.basename(file))
        FileUtils.cp(file, result_path)
        @git.commit_file(result_path, "Source archive added")

        unarchiver = if file =~ /\.zip$/
                       Tetra::Unzip.new
                     else
                       Tetra::Tar.new
                     end

        Dir.glob(File.join("src", "*")).each { |f| FileUtils.rm_rf(f) }
        unarchiver.decompress(file, "src")
        commit_sources(message, true)
      end
    end
adds a source archive at the project, both in original and unpacked forms