public class ChangeIdUtil extends Object
A Change-Id is a SHA-1 computed from the content of a commit, in a similar fashion to how the commit id is computed. Unlike the commit id a Change-Id is retained in the commit and subsequent revised commits in the footer of the commit text.
Constructor | Description |
---|---|
ChangeIdUtil() |
Modifier and Type | Method | Description |
---|---|---|
static ObjectId |
computeChangeId(ObjectId treeId,
ObjectId firstParentId,
PersonIdent author,
PersonIdent committer,
String message) |
Compute a Change-Id.
|
static int |
indexOfChangeId(String message,
String delimiter) |
Return the index in the String
message where the Change-Id entry
in the footer begins. |
static int |
indexOfFirstFooterLine(String[] lines) |
Find the index of the first line of the footer paragraph in an array of
the lines, or lines.length if no footer is available
|
static String |
insertId(String message,
ObjectId changeId) |
Find the right place to insert a Change-Id and return it.
|
static String |
insertId(String message,
ObjectId changeId,
boolean replaceExisting) |
Find the right place to insert a Change-Id and return it.
|
public static ObjectId computeChangeId(ObjectId treeId, ObjectId firstParentId, PersonIdent author, PersonIdent committer, String message) throws IOException
treeId
- The id of the tree that would be committedfirstParentId
- parent id of previous commit or nullauthor
- the PersonIdent
for the presumed author and timecommitter
- the PersonIdent
for the presumed committer and timemessage
- The commit messageIOException
public static String insertId(String message, ObjectId changeId)
The Change-Id is inserted before the first footer line but after a Bug line.
message
- changeId
- public static String insertId(String message, ObjectId changeId, boolean replaceExisting)
If no Change-Id is found the Change-Id is inserted before
the first footer line but after a Bug line.
If Change-Id is found and replaceExisting is set to false,
the message is unchanged.
If Change-Id is found and replaceExisting is set to true,
the Change-Id is replaced with changeId
.
message
- changeId
- replaceExisting
- public static int indexOfChangeId(String message, String delimiter)
message
where the Change-Id entry
in the footer begins. If there are more than one entries matching the
pattern, return the index of the last one in the last section. Because of
Bug: 400818 we release the constraint here that a footer must contain
only lines matching footerPattern
.message
- delimiter
- the line delimiter, like "\n" or "\r\n", needed to find the
footerpublic static int indexOfFirstFooterLine(String[] lines)
lines
- the commit message split into lines and the line delimiters
stripped offCopyright © 2018. All rights reserved.