summaryrefslogtreecommitdiff
path: root/include/git2/merge.h
Commit message (Collapse)AuthorAgeFilesLines
* Don't use enum for flagsSven Strickroth2019-09-261-3/+3
| | | | | | Using an `enum` causes trouble when used with C++ as bitwise operations are not possible w/o casting (e.g., `opts.flags &= ~GIT_BLOB_FILTER_CHECK_FOR_BINARY;` is invalid as there is no `&=` operator for `enum`). Signed-off-by: Sven Strickroth <email@cs-ware.de>
* Rename opt init functions to `options_init`Edward Thomson2019-06-141-7/+3
| | | | | | | | | | | | | In libgit2 nomenclature, when we need to verb a direct object, we name a function `git_directobject_verb`. Thus, if we need to init an options structure named `git_foo_options`, then the name of the function that does that should be `git_foo_options_init`. The previous names of `git_foo_init_options` is close - it _sounds_ as if it's initializing the options of a `foo`, but in fact `git_foo_options` is its own noun that should be respected. Deprecate the old names; they'll now call directly to the new ones.
* merge: make analysis possible against a non-HEAD referenceEtienne Samson2018-10-191-0/+19
| | | | | | | This moves the current merge analysis code into a more generic version that can work against any reference. Also change the tests to check returned analysis values exactly.
* docs: standardize comment block for git_*_init_options functionsEtienne Samson2018-05-071-8/+10
|
* merge: allow custom conflict marker sizeEdward Thomson2018-01-211-0/+6
| | | | | | Allow for a custom conflict marker size, allowing callers to override the default size of the "<<<<<<<" and ">>>>>>>" markers in the conflicted output file.
* merge: set default rename thresholdEdward Thomson2017-01-011-1/+2
| | | | | When `GIT_MERGE_FIND_RENAMES` is set, provide a default for `rename_threshold` when it is unset.
* merge driver: allow custom default driverEdward Thomson2016-03-171-1/+10
| | | | | | Allow merge users to configure a custom default merge driver via `git_merge_options`. Similarly, honor the `merge.default` configuration option.
* Better document `git_merge_commits` reduxEdward Thomson2016-02-081-8/+0
| | | | | | | | `git_merge_commits` and `git_merge` now *do* handle recursive base building for criss-cross merges. Remove the documentation that says that they do not. This reverts commit 5e44d9bcb6d5b20922f49b1913723186f8ced8b5.
* recursive merge: add a recursion limitEdward Thomson2015-11-251-0/+8
|
* merge: add simple recursive testEdward Thomson2015-11-251-4/+12
| | | | | Add a simple recursive test - where multiple ancestors exist and creating a virtual merge base from them would prevent a conflict.
* merge: rename `git_merge_tree_flags_t` -> `git_merge_flags_t`Edward Thomson2015-11-251-17/+19
|
* merge: Implement `GIT_MERGE_TREE_SKIP_REUC`Vicent Marti2015-10-271-0/+5
|
* merge: add GIT_MERGE_TREE_FAIL_ON_CONFLICTEdward Thomson2015-10-221-0/+7
| | | | | | Provide a new merge option, GIT_MERGE_TREE_FAIL_ON_CONFLICT, which will stop on the first conflict and fail the merge operation with GIT_EMERGECONFLICT.
* Update documentation for API changesjamill/doc_updateJameson Miller2015-04-301-1/+2
|
* Added options to enable patience and minimal diff driversJacques Germishuys2015-03-161-0/+6
|
* Collapse whitespace flags into git_merge_file_flags_tJacques Germishuys2015-03-161-23/+11
|
* Renamed git_merge_options 'flags' to 'tree_flags'Jacques Germishuys2015-03-161-2/+2
|
* Allow for merges with whitespace discrepanciesJacques Germishuys2015-03-161-0/+23
|
* Better document `git_merge_commits`Edward Thomson2015-01-051-0/+8
| | | | | | | `git_merge_commits` (and thus `git_merge`) do not use the same strategy as `git-merge-recursive` wherein they can produce an artificial common ancestor that is the merge of all common ancestors. Document this accordingly.
* doc: add documentation to all the public structs and enumscmn/doc-allCarlos Martín Nieto2014-12-061-5/+20
| | | | | | | | | | This makes them show up in the reference, even if the text itself isn't the most descriptive. These have been found with grep -Przon '\n\ntypedef struct.*?\{' -- include grep -Przon '\n\ntypedef enum.*?\{' -- include
* merge: talk about the merging state after git_merge()Carlos Martín Nieto2014-11-021-0/+5
| | | | | Since it's not necessarily obvious, mention the merging state and how to clear it.
* s/git_merge_head/git_annotated_commitEdward Thomson2014-10-261-65/+3
| | | | | Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.
* Add git_merge_bases_many.Arthur Schreiber2014-10-091-0/+15
|
* merge: expose multiple merge basescmn/oidarrayCarlos Martín Nieto2014-07-271-0/+16
| | | | | | | | We always calculate multiple merge bases, but up to now we had only exposed the "best" merge base. Introduce git_oidarray which analogously to git_strarray lets us return multiple ids.
* Modify GIT_MERGE_CONFIG -> GIT_MERGE_PREFERENCEEdward Thomson2014-05-271-6/+7
|
* Move GIT_MERGE_CONFIG_* to its own enumEdward Thomson2014-05-271-3/+11
|
* Introduce GIT_MERGE_CONFIG_* for merge.ff settingsEdward Thomson2014-05-271-0/+12
| | | | | | git_merge_analysis will now return GIT_MERGE_CONFIG_NO_FASTFORWARD when merge.ff=false and GIT_MERGE_CONFIG_FASTFORWARD_ONLY when merge.ff=true
* Fixed miscellaneous documentation errors.Michael Anderson2014-05-231-5/+5
|
* Doc fixesRussell Belfer2014-05-021-2/+2
|
* Make init_options fns use unsigned ints and macroRussell Belfer2014-05-021-3/+3
| | | | | Use an unsigned int for the version and add a helper macro so the code is simplified (and so the error message is a common string).
* Const correctness!Jacques Germishuys2014-04-031-1/+1
|
* Const up members of git_merge_file_resultEdward Thomson2014-03-311-2/+2
|
* Introduce git_merge_head_idEdward Thomson2014-03-311-0/+9
|
* UNBORN implies FAST_FORWARDEdward Thomson2014-03-201-2/+2
|
* Introduce GIT_MERGE_ANALYSIS_UNBORNEdward Thomson2014-03-201-0/+7
|
* git_merge_status -> git_merge_analysisEdward Thomson2014-03-201-10/+13
|
* Remove `git_merge_result` as it's now unnecessaryEdward Thomson2014-03-201-60/+4
|
* Update git_merge_tree_opts to git_merge_optionsEdward Thomson2014-03-201-13/+13
|
* Change signature of `git_merge` to take merge and checkout optsEdward Thomson2014-03-201-28/+4
|
* Remove fastforward / uptodate from `git_merge`Edward Thomson2014-03-201-27/+1
|
* Add `git_merge_status` to provide info about an upcoming mergeEdward Thomson2014-03-201-0/+40
|
* Introduce git_merge_file for consumersEdward Thomson2014-03-201-0/+169
|
* Implement git_merge_base_octopusAimeast2014-03-181-1/+16
|
* git_checkout_opts -> git_checkout_optionsBen Straub2014-03-061-2/+2
|
* Revert pull request #1997revert-1997Vicent Marti2014-03-061-1/+1
|
* Merge pull request #1997 from mgbowen/merge-options-init-fixVicent Marti2014-03-061-1/+1
|\ | | | | Fix GIT_MERGE_OPTS_INIT on MSVC.
| * Fix GIT_MERGE_OPTS_INIT on MSVC.Matthew Bowen2013-12-091-1/+1
| |
* | Added function-based initializers for every options struct.Matthew Bowen2014-03-051-0/+24
| | | | | | | | The basic structure of each function is courtesy of arrbee.
* | Improve documentation for mergingEdward Thomson2014-02-211-33/+127
| |
* | merge: rename _oid() -> id()Carlos Martín Nieto2014-01-251-4/+4
| | | | | | | | Following the rest of the series, use 'id' when refering to the value.