Skip to content

Commit 1a9c2ac

Browse files
authored
Merge pull request #1505 from jianges/ExposeOfsDeltaAndStrictCreationMode
Expose enable/disable ofs delta and strict object creation settings
2 parents 2a8af3a + e090ca0 commit 1a9c2ac

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

LibGit2Sharp/Core/Proxy.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3424,7 +3424,29 @@ public static void git_libgit2_opts_set_enable_caching(bool enabled)
34243424
Ensure.ZeroResult(res);
34253425
}
34263426

3427-
#endregion
3427+
/// <summary>
3428+
/// Enable or disable the ofs_delta capabilty
3429+
/// </summary>
3430+
/// <param name="enabled">true to enable the ofs_delta capabilty, false otherwise</param>
3431+
public static void git_libgit2_opts_set_enable_ofsdelta(bool enabled)
3432+
{
3433+
// libgit2 expects non-zero value for true
3434+
var res = NativeMethods.git_libgit2_opts((int)LibGit2Option.EnableOfsDelta, enabled ? 1 : 0);
3435+
Ensure.ZeroResult(res);
3436+
}
3437+
3438+
/// <summary>
3439+
/// Enable or disable the strict_object_creation capabilty
3440+
/// </summary>
3441+
/// <param name="enabled">true to enable the strict_object_creation capabilty, false otherwise</param>
3442+
public static void git_libgit2_opts_set_enable_strictobjectcreation(bool enabled)
3443+
{
3444+
// libgit2 expects non-zero value for true
3445+
var res = NativeMethods.git_libgit2_opts((int)LibGit2Option.EnableStrictObjectCreation, enabled ? 1 : 0);
3446+
Ensure.ZeroResult(res);
3447+
}
3448+
3449+
#endregion
34283450

34293451
private static ICollection<TResult> git_foreach<T, TResult>(
34303452
Func<T, TResult> resultSelector,

LibGit2Sharp/GlobalSettings.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,5 +334,23 @@ public static void SetEnableCaching(bool enabled)
334334
{
335335
Proxy.git_libgit2_opts_set_enable_caching(enabled);
336336
}
337+
338+
/// <summary>
339+
/// Enable or disable the ofs_delta capability
340+
/// </summary>
341+
/// <param name="enabled">true to enable the ofs_delta capability, false otherwise</param>
342+
public static void SetEnableOfsDelta(bool enabled)
343+
{
344+
Proxy.git_libgit2_opts_set_enable_ofsdelta(enabled);
345+
}
346+
347+
/// <summary>
348+
/// Enable or disable the libgit2 strict_object_creation capability
349+
/// </summary>
350+
/// <param name="enabled">true to enable the strict_object_creation capability, false otherwise</param>
351+
public static void SetEnableStrictObjectCreation(bool enabled)
352+
{
353+
Proxy.git_libgit2_opts_set_enable_strictobjectcreation(enabled);
354+
}
337355
}
338356
}

0 commit comments

Comments
 (0)