If not NULL, the name of the reference that will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use HEAD to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created. If it does exist, the first parent must be the tip of this branch.
Encoding for the commit message; leave NULL for default.
Extra headers can be specified as an array of field name and value pairs.
Number of extra headers
Callback payload (optional)