## GgitMergeTreeOptions GgitMergeTreeOptions |

## Synopsis

    enum                GgitMergeAutomergeMode;
    enum                GgitMergeTreeFlags;
                        GgitMergeTreeOptions;
    GgitMergeTreeOptions * ggit_merge_tree_options_copy     (GgitMergeTreeOptions *merge_options);
    void                ggit_merge_tree_options_free        (GgitMergeTreeOptions *merge_options);
    GgitMergeTreeOptions * ggit_merge_tree_options_new      (GgitMergeTreeFlags flags,
                                                             guint rename_threshold,
                                                             guint target_limit,
                                                             GgitMergeAutomergeMode automerge_mode);

## Object Hierarchy

      GEnum
       +----GgitMergeAutomergeMode

      GFlags
       +----GgitMergeTreeFlags

      GBoxed
       +----GgitMergeTreeOptions

## Description

## Details

### enum GgitMergeAutomergeMode

    typedef enum {
    	GGIT_MERGE_AUTOMERGE_MODE_NORMAL       = 0,
    	GGIT_MERGE_AUTOMERGE_MODE_NONE         = 1,
    	GGIT_MERGE_AUTOMERGE_MODE_FAVOR_OURS   = 2,
    	GGIT_MERGE_AUTOMERGE_MODE_FAVOR_THEIRS = 3
    } GgitMergeAutomergeMode;

`GGIT_MERGE_AUTOMERGE_MODE_NORMAL` |
`GGIT_MERGE_AUTOMERGE_MODE_NONE` |
`GGIT_MERGE_AUTOMERGE_MODE_FAVOR_OURS` |
`GGIT_MERGE_AUTOMERGE_MODE_FAVOR_THEIRS` |

### enum GgitMergeTreeFlags

    typedef enum {
    	GGIT_MERGE_TREE_FIND_RENAMES = (1 << 0)
    } GgitMergeTreeFlags;

`GGIT_MERGE_TREE_FIND_RENAMES` | detect renames.

### GgitMergeTreeOptions

    typedef struct _GgitMergeTreeOptions GgitMergeTreeOptions;

Represents the options used when merging.

### ggit_merge_tree_options_copy ()

    GgitMergeTreeOptions * ggit_merge_tree_options_copy     (GgitMergeTreeOptions *merge_options);

Copies `merge_options` into a newly allocated GgitMergeTreeOptions.

`merge_options` : | a GgitMergeTreeOptions.
Returns : | a newly allocated GgitMergeTreeOptions. [transfer full]

### ggit_merge_tree_options_free ()

    void                ggit_merge_tree_options_free        (GgitMergeTreeOptions *merge_options);

Frees `merge_options`.

`merge_options` : | a GgitMergeTreeOptions.

### ggit_merge_tree_options_new ()

    GgitMergeTreeOptions * ggit_merge_tree_options_new      (GgitMergeTreeFlags flags,
                                                             guint rename_threshold,
                                                             guint target_limit,
                                                             GgitMergeAutomergeMode automerge_mode);

Creates a new GgitMergeTreeOptions.

`flags` : | flags to consider when merging.
`rename_threshold` : | similarity to consider a file renamed (default 50).
`target_limit` : | maximum similarity sources to examine (overrides the `merge_tree.renameLimit` config) (default 200).
`automerge_mode` : | mode for automerging.
Returns : | a newly allocated GgitMergeTreeOptions.