diff options
author | crumblycake <angusbjones@outlook.com> | 2013-12-05 15:31:18 +0400 |
---|---|---|
committer | Jameson Miller <jamill@microsoft.com> | 2014-01-16 18:21:49 +0400 |
commit | cc4bb2da1de35122860993cb1f5c9fae7a724f59 (patch) | |
tree | d3f68c1c7949cd544af2d3a588797b45861b499d /LibGit2Sharp/Core/NativeMethods.cs | |
parent | 9165ae30d4cff10681b5b65f094d0d4320426b6e (diff) |
Initial merge functionality.
Bring initial merge functionality to LibGit2Sharp.
Diffstat (limited to 'LibGit2Sharp/Core/NativeMethods.cs')
-rw-r--r-- | LibGit2Sharp/Core/NativeMethods.cs | 49 |
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, |