internal static extern int git_branch_create( out ReferenceSafeHandle ref_out, RepositorySafeHandle repo, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8Marshaler))] string branch_name, GitObjectSafeHandle target, // TODO: GitCommitSafeHandle? [MarshalAs(UnmanagedType.Bool)] bool force);
internal static extern IntPtr git_blob_rawcontent(GitObjectSafeHandle blob);
internal static extern Int64 git_blob_rawsize(GitObjectSafeHandle blob);
internal static extern UIntPtr git_tree_entrycount(GitObjectSafeHandle tree);
internal static extern int git_blob_is_binary(GitObjectSafeHandle blob);
internal static extern TreeEntrySafeHandle git_tree_entry_byindex(GitObjectSafeHandle tree, UIntPtr idx);
internal static extern int git_tree_entry_bypath( out TreeEntrySafeHandle_Owned tree, GitObjectSafeHandle root, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(FilePathMarshaler))] FilePath treeentry_path);
internal static extern OidSafeHandle git_tag_target_id(GitObjectSafeHandle tag);
internal static extern GitObjectType git_tag_target_type(GitObjectSafeHandle tag);
internal static extern IntPtr git_tag_tagger(GitObjectSafeHandle tag);
internal static extern string git_tag_name(GitObjectSafeHandle tag);
private static string RetrieveEncodingOf(GitObjectSafeHandle obj) { string encoding = Proxy.git_commit_message_encoding(obj); return(encoding ?? "UTF-8"); }
internal static Tree BuildFromPtr(GitObjectSafeHandle obj, ObjectId id, Repository repo, FilePath path) { var tree = new Tree(id, path, (int)NativeMethods.git_tree_entrycount(obj), repo); return(tree); }
internal static ObjectId ObjectIdOf(GitObjectSafeHandle gitObjHandle) { return(NativeMethods.git_object_id(gitObjHandle).MarshalAsObjectId()); }