Ggit.Repository.merge_trees

### Method

# Ggit Repositorymerge_trees

#### Declaration [src]

    GgitIndex*
    ggit_repository_merge_trees (
      GgitRepository* repository,
      GgitTree* ancestor_tree,
      GgitTree* our_tree,
      GgitTree* their_tree,
      GgitMergeOptions* merge_options,
      GError** error
    )

#### Description [src]

Merge two trees creating a `GgitIndex` reflecting the result of the merge.

#### Parameters

`ancestor_tree` | `GgitTree`
| The common ancestor between the trees, or `NULL`.
| The data is owned by the caller of the function.
`our_tree` | `GgitTree`
| The tree that reflects the destination tree.
| The data is owned by the caller of the function.
`their_tree` | `GgitTree`
| The tree that reflects the source tree.
| The data is owned by the caller of the function.
`merge_options` | `GgitMergeOptions`
| The merge options.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `GgitIndex`
| A new `GgitIndex` or `NULL` if an error occurred.
| The caller of the method takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.