Class RefRename


  • public abstract class RefRename
    extends Object
    A RefUpdate combination for renaming a reference.

    If the source reference is currently pointed to by HEAD, then the HEAD symbolic reference is updated to point to the new destination.

    • Field Detail

      • source

        protected final RefUpdate source
        Update operation to read and delete the source reference.
      • destination

        protected final RefUpdate destination
        Update operation to create/overwrite the destination reference.
    • Constructor Detail

      • RefRename

        protected RefRename​(RefUpdate src,
                            RefUpdate dst)
        Initialize a new rename operation.
        Parameters:
        src - operation to read and delete the source.
        dst - operation to create (or overwrite) the destination.
    • Method Detail

      • getRefLogIdent

        public PersonIdent getRefLogIdent()
        Get identity of the user making the change in the reflog.
        Returns:
        identity of the user making the change in the reflog.
      • setRefLogIdent

        public void setRefLogIdent​(PersonIdent pi)
        Set the identity of the user appearing in the reflog.

        The timestamp portion of the identity is ignored. A new identity with the current timestamp will be created automatically when the rename occurs and the log record is written.

        Parameters:
        pi - identity of the user. If null the identity will be automatically determined based on the repository configuration.
      • getRefLogMessage

        public String getRefLogMessage()
        Get the message to include in the reflog.
        Returns:
        message the caller wants to include in the reflog; null if the rename should not be logged.
      • setRefLogMessage

        public void setRefLogMessage​(String msg)
        Set the message to include in the reflog.
        Parameters:
        msg - the message to describe this change.
      • disableRefLog

        public void disableRefLog()
        Don't record this rename in the ref's associated reflog.
      • getResult

        public RefUpdate.Result getResult()
        Get result of rename operation
        Returns:
        result of rename operation
      • needToUpdateHEAD

        protected boolean needToUpdateHEAD()
                                    throws IOException
        Whether the Constants#HEAD reference needs to be linked to the new destination name.
        Returns:
        true if the Constants#HEAD reference needs to be linked to the new destination name.
        Throws:
        IOException - the current value of HEAD cannot be read.