using LibGit2Sharp.Handlers;
namespace LibGit2Sharp
{
///
/// Collection of parameters controlling Fetch behavior.
///
public sealed class FetchOptions
{
///
/// Specifies the tag-following behavior of the fetch operation.
///
/// If not set, the fetch operation will follow the default behavior for the
/// based on the remote's configuration.
///
/// If neither this property nor the remote `tagopt` configuration is set,
/// this will default to (i.e. tags that point to objects
/// retrieved during this fetch will be retrieved as well).
///
public TagFetchMode? TagFetchMode { get; set; }
///
/// Delegate that progress updates of the network transfer portion of fetch
/// will be reported through.
///
public ProgressHandler OnProgress { get; set; }
///
/// Delegate that updates of remote tracking branches will be reported through.
///
public UpdateTipsHandler OnUpdateTips { get; set; }
///
/// Callback method that transfer progress will be reported through.
///
/// Reports the client's state regarding the received and processed (bytes, objects) from the server.
///
///
public TransferProgressHandler OnTransferProgress { get; set; }
///
/// Credentials to use for username/password authentication.
///
public Credentials Credentials { get; set; }
}
}