Class CommitBuilder


  • public class CommitBuilder
    extends Object
    Mutable builder to construct a commit recording the state of a project. Applications should use this object when they need to manually construct a commit and want precise control over its fields. For a higher level interface see CommitCommand. To read a commit object, construct a RevWalk and obtain a RevCommit instance by calling RevWalk.parseCommit(AnyObjectId).
    • Constructor Detail

      • CommitBuilder

        public CommitBuilder()
        Initialize an empty commit.
    • Method Detail

      • getTreeId

        public ObjectId getTreeId()
        Returns:
        id of the root tree listing this commit's snapshot.
      • setTreeId

        public void setTreeId​(AnyObjectId id)
        Set the tree id for this commit object
        Parameters:
        id - the tree identity.
      • getAuthor

        public PersonIdent getAuthor()
        Returns:
        the author of this commit (who wrote it).
      • setAuthor

        public void setAuthor​(PersonIdent newAuthor)
        Set the author (name, email address, and date) of who wrote the commit.
        Parameters:
        newAuthor - the new author. Should not be null.
      • getCommitter

        public PersonIdent getCommitter()
        Returns:
        the committer and commit time for this object.
      • setCommitter

        public void setCommitter​(PersonIdent newCommitter)
        Set the committer and commit time for this object
        Parameters:
        newCommitter - the committer information. Should not be null.
      • getParentIds

        public ObjectId[] getParentIds()
        Returns:
        the ancestors of this commit. Never null.
      • setParentId

        public void setParentId​(AnyObjectId newParent)
        Set the parent of this commit.
        Parameters:
        newParent - the single parent for the commit.
      • setParentIds

        public void setParentIds​(AnyObjectId parent1,
                                 AnyObjectId parent2)
        Set the parents of this commit.
        Parameters:
        parent1 - the first parent of this commit. Typically this is the current value of the HEAD reference and is thus the current branch's position in history.
        parent2 - the second parent of this merge commit. Usually this is the branch being merged into the current branch.
      • setParentIds

        public void setParentIds​(ObjectId... newParents)
        Set the parents of this commit.
        Parameters:
        newParents - the entire list of parents for this commit.
      • setParentIds

        public void setParentIds​(List<? extends AnyObjectId> newParents)
        Set the parents of this commit.
        Parameters:
        newParents - the entire list of parents for this commit.
      • addParentId

        public void addParentId​(AnyObjectId additionalParent)
        Add a parent onto the end of the parent list.
        Parameters:
        additionalParent - new parent to add onto the end of the current parent list.
      • getMessage

        public String getMessage()
        Returns:
        the complete commit message.
      • setMessage

        public void setMessage​(String newMessage)
        Set the commit message.
        Parameters:
        newMessage - the commit message. Should not be null.
      • setEncoding

        public void setEncoding​(String encodingName)
        Set the encoding for the commit information
        Parameters:
        encodingName - the encoding name. See Charset.forName(String).
      • setEncoding

        public void setEncoding​(Charset enc)
        Set the encoding for the commit information
        Parameters:
        enc - the encoding to use.
      • getEncoding

        public Charset getEncoding()
        Returns:
        the encoding that should be used for the commit message text.