Struct git2::RemoteCallbacks
source · pub struct RemoteCallbacks<'a> { /* private fields */ }
Expand description
A structure to contain the callbacks which are invoked when a repository is being updated or downloaded.
These callbacks are used to manage facilities such as authentication, transfer progress, etc.
Implementations§
source§impl<'a> RemoteCallbacks<'a>
impl<'a> RemoteCallbacks<'a>
sourcepub fn new() -> RemoteCallbacks<'a>
pub fn new() -> RemoteCallbacks<'a>
Creates a new set of empty callbacks
sourcepub fn credentials<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn credentials<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
The callback through which to fetch credentials if required.
Example
Prepare a callback to authenticate using the $HOME/.ssh/id_rsa
SSH key, and
extracting the username from the URL (i.e. git@github.com:rust-lang/git2-rs.git):
use git2::{Cred, RemoteCallbacks};
use std::env;
let mut callbacks = RemoteCallbacks::new();
callbacks.credentials(|_url, username_from_url, _allowed_types| {
Cred::ssh_key(
username_from_url.unwrap(),
None,
std::path::Path::new(&format!("{}/.ssh/id_rsa", env::var("HOME").unwrap())),
None,
)
});
sourcepub fn transfer_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn transfer_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
The callback through which progress is monitored.
sourcepub fn sideband_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn sideband_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
Textual progress from the remote.
Text sent over the progress side-band will be passed to this function (this is the ‘counting objects’ output).
sourcepub fn update_tips<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn update_tips<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
Each time a reference is updated locally, the callback will be called with information about it.
sourcepub fn certificate_check<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn certificate_check<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
If certificate verification fails, then this callback will be invoked to let the caller make the final decision of whether to allow the connection to proceed.
sourcepub fn push_update_reference<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn push_update_reference<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
Set a callback to get invoked for each updated reference on a push.
The first argument to the callback is the name of the reference and the
second is a status message sent by the server. If the status is Some
then the push was rejected.
sourcepub fn push_transfer_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn push_transfer_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
The callback through which progress of push transfer is monitored
sourcepub fn pack_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn pack_progress<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
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.
sourcepub fn push_negotiation<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
pub fn push_negotiation<F>(&mut self, cb: F) -> &mut RemoteCallbacks<'a>
The callback is called once between the negotiation step and the upload. It provides information about what updates will be performed.