Class TagCommand

  • All Implemented Interfaces:
    Callable<Ref>

    public class TagCommand
    extends GitCommand<Ref>
    Create/update an annotated tag object or a simple unannotated tag

    Examples (git is a Git instance):

    Create a new tag for the current commit:

     git.tag().setName("v1.0").setMessage("First stable release").call();
     

    Create a new unannotated tag for the current commit:

     git.tag().setName("v1.0").setAnnotated(false).call();
     

    See Also:
    Git documentation about Tag
    • Constructor Detail

      • TagCommand

        protected TagCommand​(Repository repo)

        Constructor for TagCommand.

        Parameters:
        repo - a Repository object.
    • Method Detail

      • setName

        public TagCommand setName​(String name)
        Set the tag name.
        Parameters:
        name - the tag name used for the tag
        Returns:
        this
      • getName

        public String getName()
        Get the tag name.
        Returns:
        the tag name used for the tag
      • getMessage

        public String getMessage()
        Get the tag message.
        Returns:
        the tag message used for the tag
      • setMessage

        public TagCommand setMessage​(String message)
        Set the tag message.
        Parameters:
        message - the tag message used for the tag
        Returns:
        this
      • isSigned

        public boolean isSigned()
        Whether setSigned(true) has been called or whether a signing key ID has been set; i.e., whether -s or -u was specified explicitly.
        Returns:
        whether the tag is signed
      • setSigned

        public TagCommand setSigned​(boolean signed)
        If set to true the Tag command creates a signed tag object. This corresponds to the parameter -s (--sign or --no-sign) on the command line.

        If true, the tag will be a signed annotated tag.

        Parameters:
        signed - whether to sign
        Returns:
        this
      • setGpgSigner

        public TagCommand setGpgSigner​(GpgObjectSigner signer)
        Sets the GpgSigner to use if the commit is to be signed.
        Parameters:
        signer - to use; if null, the default signer will be used
        Returns:
        this
        Since:
        5.11
      • setGpgConfig

        public TagCommand setGpgConfig​(GpgConfig config)
        Sets an external GpgConfig to use. Whether it will be used is at the discretion of the setGpgSigner(GpgObjectSigner).
        Parameters:
        config - to set; if null, the config will be loaded from the git config of the repository
        Returns:
        this
        Since:
        5.11
      • setTagger

        public TagCommand setTagger​(PersonIdent tagger)
        Sets the tagger of the tag. If the tagger is null, a PersonIdent will be created from the info in the repository.
        Parameters:
        tagger - a PersonIdent object.
        Returns:
        this
      • getTagger

        public PersonIdent getTagger()
        Get the tagger who created the tag.
        Returns:
        the tagger of the tag
      • getObjectId

        public RevObject getObjectId()
        Get the tag's object id
        Returns:
        the object id of the tag
      • setObjectId

        public TagCommand setObjectId​(RevObject id)
        Sets the object id of the tag. If the object id is null, the commit pointed to from HEAD will be used.
        Parameters:
        id - a RevObject object.
        Returns:
        this
      • isForceUpdate

        public boolean isForceUpdate()
        Whether this is a forced update
        Returns:
        is this a force update
      • setForceUpdate

        public TagCommand setForceUpdate​(boolean forceUpdate)
        If set to true the Tag command may replace an existing tag object. This corresponds to the parameter -f on the command line.
        Parameters:
        forceUpdate - whether this is a forced update
        Returns:
        this
      • setAnnotated

        public TagCommand setAnnotated​(boolean annotated)
        Configure this tag to be created as an annotated tag
        Parameters:
        annotated - whether this shall be an annotated tag
        Returns:
        this
        Since:
        3.0
      • isAnnotated

        public boolean isAnnotated()
        Whether this will create an annotated tag.
        Returns:
        true if this command will create an annotated tag (default is true)
        Since:
        3.0
      • setSigningKey

        public TagCommand setSigningKey​(String signingKey)
        Sets the signing key.

        Per spec of user.signingKey: this will be sent to the GPG program as is, i.e. can be anything supported by the GPG program.

        Note, if none was set or null is specified a default will be obtained from the configuration.

        If set to a non-null value, the tag will be a signed annotated tag.

        Parameters:
        signingKey - signing key; null allowed
        Returns:
        this
        Since:
        5.11
      • getSigningKey

        public String getSigningKey()
        Retrieves the signing key ID.
        Returns:
        the key ID set, or null if none is set
        Since:
        5.11
      • setCredentialsProvider

        public TagCommand setCredentialsProvider​(CredentialsProvider credentialsProvider)
        Parameters:
        credentialsProvider - the provider to use when querying for credentials (eg., during signing)
        Returns:
        this
        Since:
        5.11