Rename an existing reference.
This method works for both direct and symbolic references.
The new name will be checked for validity.
See git_reference_create_symbolic()
for rules about valid names.
On success, the given git_reference will be deleted from disk and a
new git_reference
will be returned.
The reference will be immediately renamed in-memory and on disk.
If the force
flag is not enabled, and there's already
a reference with the given name, the renaming will fail.
IMPORTANT: The user needs to write a proper reflog entry if the reflog is enabled for the repository. We only rename the reflog if it exists.
Overwrite an existing reference
0 on success, EINVALIDSPEC, EEXISTS or an error code