libgit2

git_patch_from_diff

Version:

Return the diff delta and patch for an entry in the diff list.

The git_patch is a newly created object contains the text diffs for the delta. You have to call git_patch_free() when you are done with it. You can use the patch object to loop over all the hunks and lines in the diff of the one delta.

For an unchanged file or a binary file, no git_patch will be created, the output will be set to NULL, and the binary flag will be set true in the git_diff_delta structure.

The git_diff_delta pointer points to internal data and you do not have to release it when you are done with it. It will go away when the git_diff and git_patch go away.

It is okay to pass NULL for either of the output parameters; if you pass NULL for the git_patch, then the text diff will not be calculated.

Signature

int git_patch_from_diff(git_patch **out, git_diff *diff, size_t idx);

Parameters

In
out

Output parameter for the delta patch object

In
diff

Diff list object

size_t
In
idx

Index into diff list

Returns

int

0 on success, other value < 0 on error

Versions