Create a new reference with the same name as the given reference but a different symbolic target. The reference must be a symbolic reference, otherwise this will fail.
The new reference will be written to disk, overwriting the given reference.
The target name will be checked for validity.
See git_reference_create_symbolic()
for rules about valid names.
The new target for the reference
0 on success, EINVALIDSPEC or an error code