Specified as driver.apply, this is the callback that actually does the
merge. If it can successfully perform a merge, it should populate
path_out with a pointer to the filename to accept, mode_out with
the resultant mode, and merged_out with the buffer of the merged file
and then return 0. If the driver returns git_error_code.GIT_PASSTHROUGH, then the
default merge driver should instead be run. It can also return
git_error_code.GIT_EMERGECONFLICT if the driver is not able to produce a merge result,
and the file will remain conflicted. Any other errors will fail and
return to the caller.
The filter_name contains the name of the filter that was invoked, as
specified by the file's attributes.
The src contains the data about the file to be merged.
Callback to perform the merge.
Specified as driver.apply, this is the callback that actually does the merge. If it can successfully perform a merge, it should populate path_out with a pointer to the filename to accept, mode_out with the resultant mode, and merged_out with the buffer of the merged file and then return 0. If the driver returns git_error_code.GIT_PASSTHROUGH, then the default merge driver should instead be run. It can also return git_error_code.GIT_EMERGECONFLICT if the driver is not able to produce a merge result, and the file will remain conflicted. Any other errors will fail and return to the caller.
The filter_name contains the name of the filter that was invoked, as specified by the file's attributes.
The src contains the data about the file to be merged.