mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-04 19:50:19 +00:00
merge driver: improve inline documentation
This commit is contained in:
parent
967e073dca
commit
3f7d3df1ec
@ -56,22 +56,12 @@ GIT_EXTERN(git_merge_file_options *) git_merge_driver_source_file_options(
|
|||||||
const git_merge_driver_source *src);
|
const git_merge_driver_source *src);
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* struct git_merge_driver
|
|
||||||
*
|
|
||||||
* The merge driver lifecycle:
|
|
||||||
* - initialize - first use of merge driver
|
|
||||||
* - shutdown - merge driver removed/unregistered from system
|
|
||||||
* - check - considering using merge driver for file
|
|
||||||
* - apply - apply merge driver to the file
|
|
||||||
* - cleanup - done with file
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize callback on merge driver
|
* Initialize callback on merge driver
|
||||||
*
|
*
|
||||||
* Specified as `driver.initialize`, this is an optional callback invoked
|
* Specified as `driver.initialize`, this is an optional callback invoked
|
||||||
* before a merge driver is first used. It will be called once at most.
|
* before a merge driver is first used. It will be called once at most
|
||||||
|
* per library lifetime.
|
||||||
*
|
*
|
||||||
* If non-NULL, the merge driver's `initialize` callback will be invoked
|
* If non-NULL, the merge driver's `initialize` callback will be invoked
|
||||||
* right before the first use of the driver, so you can defer expensive
|
* right before the first use of the driver, so you can defer expensive
|
||||||
@ -170,20 +160,33 @@ typedef void (*git_merge_driver_cleanup_fn)(
|
|||||||
* To associate extra data with a driver, allocate extra data and put the
|
* To associate extra data with a driver, allocate extra data and put the
|
||||||
* `git_merge_driver` struct at the start of your data buffer, then cast
|
* `git_merge_driver` struct at the start of your data buffer, then cast
|
||||||
* the `self` pointer to your larger structure when your callback is invoked.
|
* the `self` pointer to your larger structure when your callback is invoked.
|
||||||
*
|
|
||||||
* `version` should be set to GIT_MERGE_DRIVER_VERSION
|
|
||||||
*
|
|
||||||
* The `initialize`, `shutdown`, `check`, `apply`, and `cleanup`
|
|
||||||
* callbacks are all documented above with the respective function pointer
|
|
||||||
* typedefs.
|
|
||||||
*/
|
*/
|
||||||
struct git_merge_driver {
|
struct git_merge_driver {
|
||||||
|
/** The `version` should be set to `GIT_MERGE_DRIVER_VERSION`. */
|
||||||
unsigned int version;
|
unsigned int version;
|
||||||
|
|
||||||
|
/** Called when the merge driver is first used for any file. */
|
||||||
git_merge_driver_init_fn initialize;
|
git_merge_driver_init_fn initialize;
|
||||||
|
|
||||||
|
/** Called when the merge driver is unregistered from the system. */
|
||||||
git_merge_driver_shutdown_fn shutdown;
|
git_merge_driver_shutdown_fn shutdown;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called to determine whether the merge driver should be invoked
|
||||||
|
* for a given file. If this function returns `GIT_PASSTHROUGH`
|
||||||
|
* then the `apply` function will not be invoked and the default
|
||||||
|
* (`text`) merge driver will instead be run.
|
||||||
|
*/
|
||||||
git_merge_driver_check_fn check;
|
git_merge_driver_check_fn check;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called to merge the contents of a conflict. If this function
|
||||||
|
* returns `GIT_PASSTHROUGH` then the default (`text`) merge driver
|
||||||
|
* will instead be invoked. If this function returns
|
||||||
|
* `GIT_EMERGECONFLICT` then the file will remain conflicted.
|
||||||
git_merge_driver_apply_fn apply;
|
git_merge_driver_apply_fn apply;
|
||||||
|
|
||||||
|
/** Called when the system is done filtering for a file. */
|
||||||
git_merge_driver_cleanup_fn cleanup;
|
git_merge_driver_cleanup_fn cleanup;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user