Class CommitBuilder

java.lang.Object
org.eclipse.jgit.lib.ObjectBuilder
org.eclipse.jgit.lib.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).
  • Field Details

    • EMPTY_OBJECTID_LIST

      private static final ObjectId[] EMPTY_OBJECTID_LIST
    • htree

      private static final byte[] htree
    • hparent

      private static final byte[] hparent
    • hauthor

      private static final byte[] hauthor
    • hcommitter

      private static final byte[] hcommitter
    • hgpgsig

      private static final byte[] hgpgsig
    • treeId

      private ObjectId treeId
    • parentIds

      private ObjectId[] parentIds
    • committer

      private PersonIdent committer
  • Constructor Details

    • CommitBuilder

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

    • 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.
    • setEncoding

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

      public byte[] build() throws UnsupportedEncodingException
      Description copied from class: ObjectBuilder
      Format this builder's state as a git object.
      Specified by:
      build in class ObjectBuilder
      Returns:
      this object in the canonical git format, suitable for storage in a repository.
      Throws:
      UnsupportedEncodingException - the encoding specified by ObjectBuilder.getEncoding() is not supported by this Java runtime.
    • toByteArray

      public byte[] toByteArray() throws UnsupportedEncodingException
      Format this builder's state as a commit object.
      Returns:
      this object in the canonical commit format, suitable for storage in a repository.
      Throws:
      UnsupportedEncodingException - the encoding specified by ObjectBuilder.getEncoding() is not supported by this Java runtime.
    • toString

      public String toString()
      Overrides:
      toString in class Object