-
Notifications
You must be signed in to change notification settings - Fork 892
/
Copy pathRebaseOptions.cs
58 lines (50 loc) · 1.98 KB
/
RebaseOptions.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
54
55
56
57
58
using LibGit2Sharp.Core;
using LibGit2Sharp.Handlers;
namespace LibGit2Sharp
{
/// <summary>
/// Options controlling rebase behavior.
/// </summary>
public sealed class RebaseOptions : IConvertableToGitCheckoutOpts
{
/// <summary>
/// Delegate that is called before each rebase step.
/// </summary>
public RebaseStepStartingHandler RebaseStepStarting { get; set; }
/// <summary>
/// Delegate that is called after each rebase step is completed.
/// </summary>
public RebaseStepCompletedHandler RebaseStepCompleted { get; set; }
/// <summary>
/// The Flags specifying what conditions are
/// reported through the OnCheckoutNotify delegate.
/// </summary>
public CheckoutNotifyFlags CheckoutNotifyFlags { get; set; }
/// <summary>
/// Delegate that the checkout will report progress through.
/// </summary>
public CheckoutProgressHandler OnCheckoutProgress { get; set; }
/// <summary>
/// Delegate that checkout will notify callers of
/// certain conditions. The conditions that are reported is
/// controlled with the CheckoutNotifyFlags property.
/// </summary>
public CheckoutNotifyHandler OnCheckoutNotify { get; set; }
/// <summary>
/// How conflicting index entries should be written out during checkout.
/// </summary>
public CheckoutFileConflictStrategy FileConflictStrategy { get; set; }
CheckoutCallbacks IConvertableToGitCheckoutOpts.GenerateCallbacks()
{
return CheckoutCallbacks.From(OnCheckoutProgress, OnCheckoutNotify);
}
CheckoutStrategy IConvertableToGitCheckoutOpts.CheckoutStrategy
{
get
{
return CheckoutStrategy.GIT_CHECKOUT_SAFE |
GitCheckoutOptsWrapper.CheckoutStrategyFromFileConflictStrategy(FileConflictStrategy);
}
}
}
}