def recent_updates(options)
    default_options = {
      path: nil,
      limit: 10
    }
    options = default_options.merge(options)
    limit = [options[:limit], 1].max
    paging_window = limit * 2

    updates_hash = {}
    offset = 0
    until updates_hash.count >= limit
      changes = recent_changes(options[:path], paging_window, offset)
      break if changes.nil? # we ran out of commits first
      group_changes_into_updates(changes, updates_hash)
      offset += paging_window
    end
    return updates_hash.values.take(limit)
  end
def recent_updates(options)
    default_options = {
      path: nil,
      limit: 10
    }
    options = default_options.merge(options)
    limit = [options[:limit], 1].max
    paging_window = limit * 2

    updates_hash = {}
    offset = 0
    until updates_hash.count >= limit
      changes = recent_changes(options[:path], paging_window, offset)
      break if changes.nil? # we ran out of commits first
      group_changes_into_updates(changes, updates_hash)
      offset += paging_window
    end
    return updates_hash.values.take(limit)
  end
one entry for each file