libgit2_d.merge

Undocumented in source.

Members

Enums

git_merge_analysis_t
enum git_merge_analysis_t

The results of git_merge_analysis indicate the merge opportunities.

git_merge_file_favor_t
enum git_merge_file_favor_t

Merge file favor options for git_merge_options instruct the file-level merging functionality how to deal with conflicting regions of the files.

git_merge_file_flag_t
enum git_merge_file_flag_t

File merging flags

git_merge_flag_t
enum git_merge_flag_t

Flags for git_merge options. A combination of these flags can be passed in via the flags value in the git_merge_options.

git_merge_preference_t
enum git_merge_preference_t

The user's stated preference for merges.

Functions

GIT_MERGE_FILE_INPUT_INIT
GIT_MERGE_FILE_INPUT_INIT()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
GIT_MERGE_FILE_OPTIONS_INIT
GIT_MERGE_FILE_OPTIONS_INIT()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
GIT_MERGE_OPTIONS_INIT
GIT_MERGE_OPTIONS_INIT()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
git_merge
int git_merge(libgit2_d.types.git_repository* repo, const(libgit2_d.types.git_annotated_commit)** their_heads, size_t their_heads_len, const(.git_merge_options)* merge_opts, const(libgit2_d.checkout.git_checkout_options)* checkout_opts)

Merges the given commit(s) into HEAD, writing the results into the working directory. Any changes are staged for commit and any conflicts are written to the index. Callers should inspect the repository's index after this completes, resolve any conflicts and prepare a commit.

git_merge_analysis
int git_merge_analysis(.git_merge_analysis_t* analysis_out, .git_merge_preference_t* preference_out, libgit2_d.types.git_repository* repo, const(libgit2_d.types.git_annotated_commit)** their_heads, size_t their_heads_len)

Analyzes the given branch(es) and determines the opportunities for merging them into the HEAD of the repository.

git_merge_analysis_for_ref
int git_merge_analysis_for_ref(.git_merge_analysis_t* analysis_out, .git_merge_preference_t* preference_out, libgit2_d.types.git_repository* repo, libgit2_d.types.git_reference* our_ref, const(libgit2_d.types.git_annotated_commit)** their_heads, size_t their_heads_len)

Analyzes the given branch(es) and determines the opportunities for merging them into a reference.

git_merge_base
int git_merge_base(libgit2_d.oid.git_oid* out_, libgit2_d.types.git_repository* repo, const(libgit2_d.oid.git_oid)* one, const(libgit2_d.oid.git_oid)* two)

Find a merge base between two commits

git_merge_base_many
int git_merge_base_many(libgit2_d.oid.git_oid* out_, libgit2_d.types.git_repository* repo, size_t length, libgit2_d.oid.git_oid[] input_array)

Find a merge base given a list of commits

git_merge_base_octopus
int git_merge_base_octopus(libgit2_d.oid.git_oid* out_, libgit2_d.types.git_repository* repo, size_t length, libgit2_d.oid.git_oid[] input_array)

Find a merge base in preparation for an octopus merge

git_merge_bases
int git_merge_bases(libgit2_d.oidarray.git_oidarray* out_, libgit2_d.types.git_repository* repo, const(libgit2_d.oid.git_oid)* one, const(libgit2_d.oid.git_oid)* two)

Find merge bases between two commits

git_merge_bases_many
int git_merge_bases_many(libgit2_d.oidarray.git_oidarray* out_, libgit2_d.types.git_repository* repo, size_t length, libgit2_d.oid.git_oid[] input_array)

Find all merge bases given a list of commits

git_merge_commits
int git_merge_commits(libgit2_d.types.git_index** out_, libgit2_d.types.git_repository* repo, const(libgit2_d.types.git_commit)* our_commit, const(libgit2_d.types.git_commit)* their_commit, const(.git_merge_options)* opts)

Merge two commits, producing a git_index that reflects the result of the merge. The index may be written as-is to the working directory or checked out. If the index is to be converted to a tree, the caller should resolve any conflicts that arose as part of the merge.

git_merge_file
int git_merge_file(.git_merge_file_result* out_, const(.git_merge_file_input)* ancestor, const(.git_merge_file_input)* ours, const(.git_merge_file_input)* theirs, const(.git_merge_file_options)* opts)

Merge two files as they exist in the in-memory data structures, using the given common ancestor as the baseline, producing a git_merge_file_result that reflects the merge result. The git_merge_file_result must be freed with git_merge_file_result_free.

git_merge_file_from_index
int git_merge_file_from_index(.git_merge_file_result* out_, libgit2_d.types.git_repository* repo, const(libgit2_d.index.git_index_entry)* ancestor, const(libgit2_d.index.git_index_entry)* ours, const(libgit2_d.index.git_index_entry)* theirs, const(.git_merge_file_options)* opts)

Merge two files as they exist in the index, using the given common ancestor as the baseline, producing a git_merge_file_result that reflects the merge result. The git_merge_file_result must be freed with git_merge_file_result_free.

git_merge_file_input_init
int git_merge_file_input_init(.git_merge_file_input* opts, uint version_)

Initializes a git_merge_file_input with default values. Equivalent to creating an instance with GIT_MERGE_FILE_INPUT_INIT.

git_merge_file_options_init
int git_merge_file_options_init(.git_merge_file_options* opts, uint version_)

Initialize git_merge_file_options structure

git_merge_file_result_free
void git_merge_file_result_free(.git_merge_file_result* result)

Frees a git_merge_file_result.

git_merge_options_init
int git_merge_options_init(.git_merge_options* opts, uint version_)

Initialize git_merge_options structure

git_merge_trees
int git_merge_trees(libgit2_d.types.git_index** out_, libgit2_d.types.git_repository* repo, const(libgit2_d.types.git_tree)* ancestor_tree, const(libgit2_d.types.git_tree)* our_tree, const(libgit2_d.types.git_tree)* their_tree, const(.git_merge_options)* opts)

Merge two trees, producing a git_index that reflects the result of the merge. The index may be written as-is to the working directory or checked out. If the index is to be converted to a tree, the caller should resolve any conflicts that arose as part of the merge.

Manifest constants

GIT_MERGE_CONFLICT_MARKER_SIZE
enum GIT_MERGE_CONFLICT_MARKER_SIZE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
GIT_MERGE_FILE_INPUT_VERSION
enum GIT_MERGE_FILE_INPUT_VERSION;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
GIT_MERGE_FILE_OPTIONS_VERSION
enum GIT_MERGE_FILE_OPTIONS_VERSION;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
GIT_MERGE_OPTIONS_VERSION
enum GIT_MERGE_OPTIONS_VERSION;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Structs

git_merge_file_input
struct git_merge_file_input

The file inputs to git_merge_file. Callers should populate the git_merge_file_input structure with descriptions of the files in each side of the conflict for use in producing the merge file.

git_merge_file_options
struct git_merge_file_options

Options for merging a file

git_merge_file_result
struct git_merge_file_result

Information about file-level merging

git_merge_options
struct git_merge_options

Merging options

Meta