-
Notifications
You must be signed in to change notification settings - Fork 892
/
Copy pathSubmoduleUpdateOptions.cs
53 lines (45 loc) · 1.81 KB
/
SubmoduleUpdateOptions.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using LibGit2Sharp.Core;
using LibGit2Sharp.Handlers;
namespace LibGit2Sharp
{
/// <summary>
/// Options controlling Submodule Update behavior and callbacks.
/// </summary>
public sealed class SubmoduleUpdateOptions : IConvertableToGitCheckoutOpts
{
/// <summary>
/// Initialize the submodule if it is not already initialized.
/// </summary>
public bool Init { get; set; }
/// <summary>
/// Delegate to be called during checkout for files that match
/// desired filter specified with the NotifyFlags property.
/// </summary>
public CheckoutNotifyHandler OnCheckoutNotify { get; set; }
/// Delegate through which checkout will notify callers of
/// certain conditions. The conditions that are reported is
/// controlled with the CheckoutNotifyFlags property.
public CheckoutProgressHandler OnCheckoutProgress { get; set; }
/// <summary>
/// The flags specifying what conditions are
/// reported through the OnCheckoutNotify delegate.
/// </summary>
public CheckoutNotifyFlags CheckoutNotifyFlags { get; set; }
/// <summary>
/// Collection of parameters controlling Fetch behavior.
/// </summary>
public FetchOptions FetchOptions { get; internal set; } = new();
CheckoutCallbacks IConvertableToGitCheckoutOpts.GenerateCallbacks()
{
return CheckoutCallbacks.From(OnCheckoutProgress, OnCheckoutNotify);
}
CheckoutStrategy IConvertableToGitCheckoutOpts.CheckoutStrategy
{
get { return CheckoutStrategy.GIT_CHECKOUT_SAFE; }
}
CheckoutNotifyFlags IConvertableToGitCheckoutOpts.CheckoutNotifyFlags
{
get { return CheckoutNotifyFlags; }
}
}
}