ry.

Args:
  path: Repository path (as bytestring)
  update_refs: Function to determine changes to remote refs. Receive
    dict with existing remote refs, returns dict with
    changed refs (name -> sha, where sha=ZERO_SHA for deletions)
  generate_pack_data: Function that can return a tuple
    with number of objects and list of pack data to include
  progress: Optional progress function

Returns:
  SendPackResult object

Raises:
  SendPackError: if server rejects the pack data

)