Package org.eclipse.jgit.lib
Class CommitBuilder
- java.lang.Object
-
- org.eclipse.jgit.lib.CommitBuilder
-
public class CommitBuilder extends java.lang.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 seeCommitCommand
. To read a commit object, construct aRevWalk
and obtain aRevCommit
instance by callingRevWalk.parseCommit(AnyObjectId)
.
-
-
Constructor Summary
Constructors Constructor Description CommitBuilder()
Initialize an empty commit.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addParentId(AnyObjectId additionalParent)
Add a parent onto the end of the parent list.byte[]
build()
Format this builder's state as a commit object.PersonIdent
getAuthor()
PersonIdent
getCommitter()
java.nio.charset.Charset
getEncoding()
java.lang.String
getMessage()
ObjectId[]
getParentIds()
ObjectId
getTreeId()
void
setAuthor(PersonIdent newAuthor)
Set the author (name, email address, and date) of who wrote the commit.void
setCommitter(PersonIdent newCommitter)
Set the committer and commit time for this objectvoid
setEncoding(java.lang.String encodingName)
Set the encoding for the commit informationvoid
setEncoding(java.nio.charset.Charset enc)
Set the encoding for the commit informationvoid
setMessage(java.lang.String newMessage)
Set the commit message.void
setParentId(AnyObjectId newParent)
Set the parent of this commit.void
setParentIds(java.util.List<? extends AnyObjectId> newParents)
Set the parents of this commit.void
setParentIds(AnyObjectId parent1, AnyObjectId parent2)
Set the parents of this commit.void
setParentIds(ObjectId... newParents)
Set the parents of this commit.void
setTreeId(AnyObjectId id)
Set the tree id for this commit objectbyte[]
toByteArray()
Format this builder's state as a commit object.java.lang.String
toString()
-
-
-
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 theHEAD
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(java.util.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 java.lang.String getMessage()
- Returns:
- the complete commit message.
-
setMessage
public void setMessage(java.lang.String newMessage)
Set the commit message.- Parameters:
newMessage
- the commit message. Should not be null.
-
setEncoding
public void setEncoding(java.lang.String encodingName)
Set the encoding for the commit information- Parameters:
encodingName
- the encoding name. SeeCharset.forName(String)
.
-
setEncoding
public void setEncoding(java.nio.charset.Charset enc)
Set the encoding for the commit information- Parameters:
enc
- the encoding to use.
-
getEncoding
public java.nio.charset.Charset getEncoding()
- Returns:
- the encoding that should be used for the commit message text.
-
build
public byte[] build() throws java.io.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:
java.io.UnsupportedEncodingException
- the encoding specified bygetEncoding()
is not supported by this Java runtime.
-
toByteArray
public byte[] toByteArray() throws java.io.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:
java.io.UnsupportedEncodingException
- the encoding specified bygetEncoding()
is not supported by this Java runtime.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-