The callback settings structure
Set the callbacks to be called by the remote when informing the user about the progress of the network operations.
Textual progress from the remote. Text send over the progress side-band will be passed to this function (this is the 'counting objects' output).
Completion is called when different parts of the download process are done (currently unused).
This will be called if the remote host requires authentication in order to connect to it.
Returning GIT_PASSTHROUGH will make libgit2 behave as though this field isn't set.
If cert verification fails, this will be called to let the user make the final decision of whether to allow the connection to proceed. Returns 1 to allow the connection, 0 to disallow it or a negative value to indicate an error.
During the download of new data, this will be regularly called with the current count of progress done by the indexer.
Each time a reference is updated locally, this function will be called with information about it.
Function to call with progress information during pack building. Be aware that this is called inline with pack building operations, so performance may be affected.
Function to call with progress information during the upload portion of a push. Be aware that this is called inline with pack building operations, so performance may be affected.
See documentation of git_push_update_reference_cb
Called once between the negotiation step and the upload. It provides information about what updates will be performed.
Create the transport to use for this operation. Leave NULL to auto-detect.
This will be passed to each of the callbacks in this struct as the last parameter.