Class CommitBuilder


  • public class CommitBuilder
    extends ObjectBuilder
    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()
        Get id of the root tree listing this commit's snapshot.
        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()
        Get the author of this commit (who wrote it).
        Overrides:
        getAuthor in class ObjectBuilder
        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.
        Overrides:
        setAuthor in class ObjectBuilder
        Parameters:
        newAuthor - the new author. Should not be null.
      • getCommitter

        public PersonIdent getCommitter()
        Get the committer and commit time for this object.
        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()
        Get the ancestors of this commit.
        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.