rename
Description:
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.
Parameters:
| 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. |
Returns:
|
a newly created Ref or null. |