using LibGit2Sharp.Handlers;
namespace LibGit2Sharp
{
///
/// Collection of parameters controlling Push behavior.
///
public sealed class PushOptions
{
///
/// The to authenticate with during the push.
///
public Credentials Credentials { get; set; }
///
/// If the transport being used to push to the remote requires the creation
/// of a pack file, this controls the number of worker threads used by
/// the packbuilder when creating that pack file to be sent to the remote.
/// The default is 0, which indicates that the packbuilder will auto-detect
/// the number of threads to create.
///
public int PackbuilderDegreeOfParallelism { get; set; }
///
/// Delegate to report errors when updating references on the remote.
///
public PushStatusErrorHandler OnPushStatusError { get; set; }
///
/// Delegate that progress updates of the network transfer portion of push
/// will be reported through. The frequency of progress updates will not
/// be more than once every 0.5 seconds (in general).
///
public PushTransferProgressHandler OnPushTransferProgress { get; set; }
///
/// Delegate that progress updates of the pack building portion of push
/// will be reported through. The frequency of progress updates will not
/// be more than once every 0.5 seconds (in general).
///
public PackBuilderProgressHandler OnPackBuilderProgress { get; set; }
}
}