src/merge.h


Log

Author Commit Date CI Message
lhchavez ce5400cd 2021-01-06T06:26:09 graph: Create `git_graph_reachable_from_any()` This change introduces a new API function `git_graph_reachable_from_any()`, that answers the question whether a commit is reachable from any of the provided commits through following parent edges. This function can take advantage of optimizations provided by the existence of a `commit-graph` file, since it makes it faster to know whether, given two commits X and Y, X cannot possibly be an reachable from Y. Part of: #5757
Edward Thomson 94beb3a3 2020-01-18T14:03:23 merge: update enum type name for consistency libgit2 does not use `type_t` suffixes as it's redundant; thus, rename `git_merge_diff_type_t` to `git_merge_diff_t` for consistency.
Patrick Steinhardt 0c7f49dd 2017-06-30T13:39:01 Make sure to always include "common.h" first Next to including several files, our "common.h" header also declares various macros which are then used throughout the project. As such, we have to make sure to always include this file first in all implementation files. Otherwise, we might encounter problems or even silent behavioural differences due to macros or defines not being defined as they should be. So in fact, our header and implementation files should make sure to always include "common.h" first. This commit does so by establishing a common include pattern. Header files inside of "src" will now always include "common.h" as its first other file, separated by a newline from all the other includes to make it stand out as special. There are two cases for the implementation files. If they do have a matching header file, they will always include this one first, leading to "common.h" being transitively included as first file. If they do not have a matching header file, they instead include "common.h" as first file themselves. This fixes the outlined problems and will become our standard practice for header and source files inside of the "src/" from now on.
Edward Thomson 6d8b2cdb 2016-02-28T09:34:11 merge driver: remove `check` callback Since the `apply` callback can defer, the `check` callback is not necessary. Removing the `check` callback further makes the `payload` unnecessary along with the `cleanup` callback.
Edward Thomson 967e073d 2016-02-27T16:42:02 merge driver: correct global initialization
Edward Thomson 30a94ab7 2015-12-24T22:52:23 merge driver: allow custom default driver Allow merge users to configure a custom default merge driver via `git_merge_options`. Similarly, honor the `merge.default` configuration option.
Edward Thomson 3f04219f 2015-12-23T10:23:08 merge driver: introduce custom merge drivers Consumers can now register custom merged drivers with `git_merge_driver_register`. This allows consumers to support the merge drivers, as configured in `.gitattributes`. Consumers will be asked to perform the file-level merge when a custom driver is configured.
Edward Thomson fa78782f 2015-10-22T17:00:09 merge: rename `git_merge_tree_flags_t` -> `git_merge_flags_t`
Edward Thomson 9ebb5a3f 2015-02-18T22:53:40 merge: merge iterators
Jeff Hostetler fea24c53 2015-03-16T15:54:53 PERF: In MERGE, lazily compute is_binary
Edward Thomson 18b00406 2014-10-03T19:02:29 s/git_merge_head/git_annotated_commit Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.
Edward Thomson 967f5a76 2014-05-23T14:50:51 git_checkout_index: checkout other indexes git_checkout_index can now check out other git_index's (that are not necessarily the repository index). This allows checkout_index to use the repository's index for stat cache information instead of the index data being checked out. git_merge and friends now check out their indexes directly instead of trying to blend it into the running index.
Jacques Germishuys 399f2b62 2014-04-07T20:15:45 Introduce git_merge__extract_conflict_paths
Edward Thomson d9fdee6e 2014-03-12T09:43:53 Remove `git_merge_result` as it's now unnecessary
Edward Thomson 5aa2ac6d 2014-03-11T22:47:39 Update git_merge_tree_opts to git_merge_options
Edward Thomson 1c0b6a38 2014-03-11T17:58:10 Remove fastforward / uptodate from `git_merge`
Edward Thomson 6b92c99b 2014-01-19T01:20:25 Don't try to merge binary files
Edward Thomson 300d192f 2013-12-02T11:15:27 Introduce git_revert to revert a single commit
Edward Thomson 039db728 2013-07-03T01:00:45 merge branch into current, updating workdir
Edward Thomson 1d3a8aeb 2013-11-04T18:28:57 move mode_t to filebuf_open instead of _commit
Edward Thomson 9c06b250 2013-05-16T13:04:37 merge setup
nulltoken 1fed6b07 2013-05-13T21:57:37 Fix trailing whitespaces
Linquize 0cb16fe9 2013-05-15T20:26:55 Unify whitespaces to tabs
Edward Thomson bec65a5e 2013-04-01T22:16:21 merge!
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Edward Thomson 5a62d659 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Edward Thomson 35560d6d 2013-01-03T15:53:50 expose merge metadata cleanup
Edward Thomson 42e50b5e 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Edward Thomson ad2bc32f 2013-01-03T15:53:50 expose merge metadata cleanup
Ben Straub 4ff192d3 2012-11-26T19:47:47 Move merge functions to merge.c In so doing, promote commit_list to git_commit_list, with its own internal API header.
Edward Thomson 632d8b23 2012-10-23T15:42:09 reset changes for merge