libgit2

git_remote_callbacks

Version:

The callback settings structure

Set the callbacks to be called by the remote when informing the user about the progress of the network operations.

Signature

typedef struct git_remote_callbacks { unsigned int version git_transport_message_cb sideband_progress int (*)(git_remote_completion_t, void *) completion git_credential_acquire_cb credentials git_transport_certificate_check_cb certificate_check git_indexer_progress_cb transfer_progress int (*)(const char *, const git_oid *, const git_oid *, void *) update_tips git_packbuilder_progress pack_progress git_push_transfer_progress_cb push_transfer_progress git_push_update_reference_cb push_update_reference git_push_negotiation push_negotiation git_transport_cb transport git_remote_ready_cb remote_ready void *payload git_url_resolve_cb resolve_url int (*)(const char *, const git_oid *, const git_oid *, git_refspec *, void *) update_refs };

Members

unsigned int
version

The version

sideband_progress

Textual progress from the remote. Text send over the progress side-band will be passed to this function (this is the 'counting objects' output).

int (*)(git_remote_completion_t, void *)
completion

Completion is called when different parts of the download process are done (currently unused).

credentials

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.

certificate_check

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 0 to allow the connection or a negative value to indicate an error.

transfer_progress

During the download of new data, this will be regularly called with the current count of progress done by the indexer.

int (*)(const char *, const git_oid *, const git_oid *, void *)
update_tips

Deprecated callback for reference updates, callers should set update_refs instead. This is retained for backward compatibility; if you specify both update_refs and update_tips, then only the update_refs function will be called.

pack_progress

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.

push_transfer_progress

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.

push_update_reference

See documentation of git_push_update_reference_cb

push_negotiation

Called once between the negotiation step and the upload. It provides information about what updates will be performed.

transport

Create the transport to use for this operation. Leave NULL to auto-detect.

remote_ready

Callback when the remote is ready to connect.

void *
payload

This will be passed to each of the callbacks in this struct as the last parameter.

resolve_url

Resolve URL before connecting to remote. The returned URL will be used to connect to the remote instead.

This callback is deprecated; users should use git_remote_ready_cb and configure the instance URL instead.

int (*)(const char *, const git_oid *, const git_oid *, git_refspec *, void *)
update_refs

Each time a reference is updated locally, this function will be called with information about it. This should be preferred over the update_tips callback in this structure.

Parameter To

Versions