Rename an existing reference.
This method works for both direct and symbolic references.
The new name will be checked for validity. See `ggit_ref_create_symbolic()` for rules about valid names.
If not error, this will be deleted from disk and a new Ref 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.
this |
a Ref. |
new_name |
the new name. |
force |
true to force the renaming. |
log_message |
The one line long message to be appended to the reflog. |
a newly created Ref or null. |