Edward Thomson
19ed4d0ca3
merge: set default rename threshold
...
When `GIT_MERGE_FIND_RENAMES` is set, provide a default for
`rename_threshold` when it is unset.
2017-01-01 22:34:43 +00:00
Edward Thomson
30a94ab756
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.
2016-03-17 11:02:27 -04:00
Edward Thomson
b00c959f45
Better document git_merge_commits
redux
...
`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 5e44d9bcb6
.
2016-02-08 17:56:41 -08:00
Edward Thomson
5b9c63c3f6
recursive merge: add a recursion limit
2015-11-25 16:25:47 -05:00
Edward Thomson
86c8d02c07
merge: add simple recursive test
...
Add a simple recursive test - where multiple ancestors exist and
creating a virtual merge base from them would prevent a conflict.
2015-11-25 15:37:11 -05:00
Edward Thomson
fa78782f67
merge: rename git_merge_tree_flags_t
-> git_merge_flags_t
2015-11-25 15:37:05 -05:00
Vicent Marti
a1f5d691a2
merge: Implement GIT_MERGE_TREE_SKIP_REUC
2015-10-27 22:44:26 +01:00
Edward Thomson
8683d31f08
merge: add GIT_MERGE_TREE_FAIL_ON_CONFLICT
...
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.
2015-10-22 14:55:17 -04:00
Jameson Miller
bf2ba5290a
Update documentation for API changes
2015-04-30 10:59:50 -04:00
Jacques Germishuys
74c37c2a48
Added options to enable patience and minimal diff drivers
2015-03-16 09:53:27 +02:00
Jacques Germishuys
13de936316
Collapse whitespace flags into git_merge_file_flags_t
2015-03-16 09:53:27 +02:00
Jacques Germishuys
f29dde6828
Renamed git_merge_options 'flags' to 'tree_flags'
2015-03-16 09:53:27 +02:00
Jacques Germishuys
45a86bbfd0
Allow for merges with whitespace discrepancies
2015-03-16 09:53:27 +02:00
Edward Thomson
5e44d9bcb6
Better document git_merge_commits
...
`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.
2015-01-05 11:35:18 -06:00
Carlos Martín Nieto
a295bd2dc4
doc: add documentation to all the public structs and enums
...
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
2014-12-06 03:44:40 +01:00
Carlos Martín Nieto
521c0cab7a
merge: talk about the merging state after git_merge()
...
Since it's not necessarily obvious, mention the merging state and how to
clear it.
2014-11-02 17:18:19 +01:00
Edward Thomson
18b00406c6
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.
2014-10-26 22:59:48 -04:00
Arthur Schreiber
eca07bcd83
Add git_merge_bases_many.
2014-10-09 14:19:00 +02:00
Carlos Martín Nieto
7db0e6ee48
merge: expose multiple merge bases
...
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.
2014-07-27 17:17:22 +02:00
Edward Thomson
eff531e103
Modify GIT_MERGE_CONFIG -> GIT_MERGE_PREFERENCE
2014-05-27 20:58:20 -05:00
Edward Thomson
a3622ba6cc
Move GIT_MERGE_CONFIG_* to its own enum
2014-05-27 20:49:20 -05:00
Edward Thomson
d362093f9e
Introduce GIT_MERGE_CONFIG_* for merge.ff settings
...
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
2014-05-27 20:49:16 -05:00
Michael Anderson
31b0cb518f
Fixed miscellaneous documentation errors.
2014-05-23 15:57:20 +08:00
Russell Belfer
d2c16e9ac4
Doc fixes
2014-05-02 15:15:43 -07:00
Russell Belfer
702efc891f
Make init_options fns use unsigned ints and macro
...
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).
2014-05-02 09:21:33 -07:00
Jacques Germishuys
3b4ba27870
Const correctness!
2014-04-03 16:06:31 +02:00
Edward Thomson
7f930ded88
Const up members of git_merge_file_result
2014-03-31 11:08:31 -07:00
Edward Thomson
976634c467
Introduce git_merge_head_id
2014-03-31 11:43:38 -05:00
Edward Thomson
58c2b1c421
UNBORN implies FAST_FORWARD
2014-03-20 09:35:22 -07:00
Edward Thomson
ac584fcfd3
Introduce GIT_MERGE_ANALYSIS_UNBORN
2014-03-20 09:25:11 -07:00
Edward Thomson
97f3462ae6
git_merge_status -> git_merge_analysis
2014-03-20 09:25:10 -07:00
Edward Thomson
d9fdee6e4c
Remove git_merge_result
as it's now unnecessary
2014-03-20 09:25:09 -07:00
Edward Thomson
5aa2ac6de1
Update git_merge_tree_opts to git_merge_options
2014-03-20 09:25:08 -07:00
Edward Thomson
02105a27f0
Change signature of git_merge
to take merge and checkout opts
2014-03-20 09:25:07 -07:00
Edward Thomson
1c0b6a38ba
Remove fastforward / uptodate from git_merge
2014-03-20 09:25:06 -07:00
Edward Thomson
ccb308273a
Add git_merge_status
to provide info about an upcoming merge
2014-03-20 09:25:06 -07:00
Edward Thomson
05d47768ca
Introduce git_merge_file for consumers
2014-03-20 09:25:05 -07:00
Aimeast
0aee025bef
Implement git_merge_base_octopus
2014-03-18 22:31:14 +08:00
Ben Straub
6affd71f33
git_checkout_opts -> git_checkout_options
2014-03-06 09:44:51 -08:00
Vicent Marti
2ab6d2cd47
Revert pull request #1997
2014-03-06 16:08:17 +01:00
Vicent Marti
4d116c3413
Merge pull request #1997 from mgbowen/merge-options-init-fix
...
Fix GIT_MERGE_OPTS_INIT on MSVC.
2014-03-06 16:08:12 +01:00
Matthew Bowen
b9f819978c
Added function-based initializers for every options struct.
...
The basic structure of each function is courtesy of arrbee.
2014-03-05 21:49:23 -05:00
Edward Thomson
c254e2b641
Improve documentation for merging
2014-02-21 09:28:15 -08:00
Carlos Martín Nieto
a1bbc0ce20
merge: rename _oid() -> id()
...
Following the rest of the series, use 'id' when refering to the value.
2014-01-25 08:15:44 +01:00
Edward Thomson
db3462ce77
Support union merges
2014-01-20 17:15:15 -05:00
Edward Thomson
0e1ba46cfb
Remove the "merge none" flag
...
The "merge none" (don't automerge) flag was only to aide in
merge trivial tests. We can easily determine whether merge
trivial resulted in a trivial merge or an automerge by examining
the REUC after automerge has completed.
2014-01-20 17:15:14 -05:00
Edward Thomson
c1d648c5c6
merge_file should use more aggressive levels
...
The default merge_file level was XDL_MERGE_MINIMAL, which will
produce conflicts where there should not be in the case where
both sides were changed identically. Change the defaults to be
more aggressive (XDL_MERGE_ZEALOUS) which will more aggressively
compress non-conflicts. This matches git.git's defaults.
Increase testing around reverting a previously reverted commit to
illustrate this problem.
2014-01-20 17:15:11 -05:00
Matthew Bowen
0db9322547
Fix GIT_MERGE_OPTS_INIT on MSVC.
2013-12-09 10:44:26 -05:00
Edward Thomson
eac938d96e
Bare naked merge and rebase
2013-12-03 10:18:53 -05:00
Edward Thomson
039db728f3
merge branch into current, updating workdir
2013-11-05 10:00:39 -05:00