Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2sharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrumblycake <angusbjones@outlook.com>2013-12-05 15:31:18 +0400
committerJameson Miller <jamill@microsoft.com>2014-01-16 18:21:49 +0400
commitcc4bb2da1de35122860993cb1f5c9fae7a724f59 (patch)
treed3f68c1c7949cd544af2d3a588797b45861b499d /LibGit2Sharp/Core/NativeMethods.cs
parent9165ae30d4cff10681b5b65f094d0d4320426b6e (diff)
Initial merge functionality.
Bring initial merge functionality to LibGit2Sharp.
Diffstat (limited to 'LibGit2Sharp/Core/NativeMethods.cs')
-rw-r--r--LibGit2Sharp/Core/NativeMethods.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/LibGit2Sharp/Core/NativeMethods.cs b/LibGit2Sharp/Core/NativeMethods.cs
index 6b1accb2..9b2f9215 100644
--- a/LibGit2Sharp/Core/NativeMethods.cs
+++ b/LibGit2Sharp/Core/NativeMethods.cs
@@ -577,6 +577,55 @@ namespace LibGit2Sharp.Core
GitObjectSafeHandle two);
[DllImport(libgit2)]
+ internal static extern int git_merge_head_from_ref(
+ out GitMergeHeadHandle mergehead,
+ RepositorySafeHandle repo,
+ ReferenceSafeHandle reference);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge_head_from_fetchhead(
+ out GitMergeHeadHandle mergehead,
+ RepositorySafeHandle repo,
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalCookie = UniqueId.UniqueIdentifier, MarshalTypeRef = typeof(StrictUtf8Marshaler))] string branch_name,
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalCookie = UniqueId.UniqueIdentifier, MarshalTypeRef = typeof(StrictUtf8Marshaler))] string remote_url,
+ ref GitOid oid);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge_head_from_oid(
+ out GitMergeHeadHandle mergehead,
+ RepositorySafeHandle repo,
+ ref GitOid oid);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge(
+ out GitMergeResultHandle mergeResult,
+ RepositorySafeHandle repo,
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] [In] IntPtr[] their_heads,
+ UIntPtr their_heads_len,
+ ref GitMergeOpts given_opts);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge_result_is_uptodate(
+ GitMergeResultHandle merge_result);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge_result_is_fastforward(
+ GitMergeResultHandle merge_result);
+
+ [DllImport(libgit2)]
+ internal static extern int git_merge_result_fastforward_oid(
+ out GitOid oid,
+ GitMergeResultHandle merge_result);
+
+ [DllImport(libgit2)]
+ internal static extern void git_merge_result_free(
+ IntPtr merge_result);
+
+ [DllImport(libgit2)]
+ internal static extern void git_merge_head_free(
+ IntPtr merge_head);
+
+ [DllImport(libgit2)]
internal static extern int git_message_prettify(
byte[] message_out, // NB: This is more properly a StringBuilder, but it's UTF8
UIntPtr buffer_size,