Spaces:
Running
Running
merge API | |
========= | |
The merge API helps a program to reconcile two competing sets of | |
improvements to some files (e.g., unregistered changes from the work | |
tree versus changes involved in switching to a new branch), reporting | |
conflicts if found. The library called through this API is | |
responsible for a few things. | |
* determining which trees to merge (recursive ancestor consolidation); | |
* lining up corresponding files in the trees to be merged (rename | |
detection, subtree shifting), reporting edge cases like add/add | |
and rename/rename conflicts to the user; | |
* performing a three-way merge of corresponding files, taking | |
path-specific merge drivers (specified in `.gitattributes`) | |
into account. | |
Data structures | |
--------------- | |
* `mmbuffer_t`, `mmfile_t` | |
These store data usable for use by the xdiff backend, for writing and | |
for reading, respectively. See `xdiff/xdiff.h` for the definitions | |
and `diff.c` for examples. | |
* `struct ll_merge_options` | |
Check ll-merge.h for details. | |
Low-level (single file) merge | |
----------------------------- | |
Check ll-merge.h for details. | |