Conditionally create a new reference with the same name as the given reference but a different OID target. The reference must be a direct reference, otherwise this will fail.
The new reference will be written to disk, overwriting the given reference.
The one line long message to be appended to the reflog
0 on success, GIT_EMODIFIED if the value of the reference has changed since it was read, or an error code