Download and index the packfile.
Connect to the remote if it hasn't been done yet, negotiate with the remote git which objects are missing, download and index the packfile.
The .idx file will be created and both it and the packfile with be renamed to their final name.
If options are specified and this remote is already connected then the existing remote connection options will be discarded and the remote will now use the new options.
the refspecs to use for this negotiation and download. Use NULL or an empty array to use the base refspecs
0 or an error code