def compact!
      unless inside_repository?
        log_error "not currently in a git repository"
        return false
      end
      
      directories_to_compact.each do |dir|
        compress_directory dir
        FileUtils.rm_rf builds_dir(dir)
        
        log_info "Compacted #{archive_path(dir)}"
      end
    end
def compact!
      unless inside_repository?
        log_error "not currently in a git repository"
        return false
      end
      
      directories_to_compact.each do |dir|
        compress_directory dir
        FileUtils.rm_rf builds_dir(dir)
        
        log_info "Compacted #{archive_path(dir)}"
      end
    end
Constructor

 @param [String] working_dir The directory from which to run.
 @param [Integer] num_builds_to_leave How many builds not to compact, starting from the newest
 @param [String] builds_to_leave Comma-separated list of build directory names not to compact
 @param [Logger] logger Logger object
 Compress and delete the build directories