c.setTreeId(t.getTreeId());
assertEquals(t.getTreeId(), c.getTreeId());
- insertCommit(c);
+ ObjectId actid = insertCommit(c);
final ObjectId cmtid = ObjectId.fromString(
"803aec4aba175e8ab1d666873c984c0308179099");
- assertEquals(cmtid, c.getCommitId());
+ assertEquals(cmtid, actid);
// Verify the commit we just wrote is in the correct format.
ObjectDatabase odb = db.getObjectDatabase();
}
// Verify we can read it.
- RevCommit c2 = parseCommit(c.getCommitId());
+ RevCommit c2 = parseCommit(actid);
assertNotNull(c2);
assertEquals(c.getMessage(), c2.getFullMessage());
assertEquals(c.getTreeId(), c2.getTree());
t.setTag("test020");
t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
t.setMessage("test020 tagged\n");
- insertTag(t);
- assertEquals("6759556b09fbb4fd8ae5e315134481cc25d46954", t.getTagId().name());
+ ObjectId actid = insertTag(t);
+ assertEquals("6759556b09fbb4fd8ae5e315134481cc25d46954", actid.name());
- RevTag mapTag = parseTag(t.getTagId());
+ RevTag mapTag = parseTag(actid);
assertEquals(Constants.OBJ_BLOB, mapTag.getObject().getType());
assertEquals("test020 tagged\n", mapTag.getFullMessage());
assertEquals(new PersonIdent(author, 1154236443000L, -4 * 60), mapTag.getTaggerIdent());
t.setTag("test021");
t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
t.setMessage("test021 tagged\n");
- insertTag(t);
- assertEquals("b0517bc8dbe2096b419d42424cd7030733f4abe5", t.getTagId().name());
+ ObjectId actid = insertTag(t);
+ assertEquals("b0517bc8dbe2096b419d42424cd7030733f4abe5", actid.name());
- RevTag mapTag = parseTag(t.getTagId());
+ RevTag mapTag = parseTag(actid);
assertEquals(Constants.OBJ_TREE, mapTag.getObject().getType());
assertEquals("test021 tagged\n", mapTag.getFullMessage());
assertEquals(new PersonIdent(author, 1154236443000L, -4 * 60), mapTag.getTaggerIdent());
t.setTag("test022");
t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
t.setMessage("test022 tagged\n");
- insertTag(t);
- assertEquals("0ce2ebdb36076ef0b38adbe077a07d43b43e3807", t.getTagId().name());
+ ObjectId actid = insertTag(t);
+ assertEquals("0ce2ebdb36076ef0b38adbe077a07d43b43e3807", actid.name());
- RevTag mapTag = parseTag(t.getTagId());
+ RevTag mapTag = parseTag(actid);
assertEquals(Constants.OBJ_COMMIT, mapTag.getObject().getType());
assertEquals("test022 tagged\n", mapTag.getFullMessage());
assertEquals(new PersonIdent(author, 1154236443000L, -4 * 60), mapTag.getTaggerIdent());
c1.setMessage("A Commit\n");
c1.setTreeId(t.getTreeId());
assertEquals(t.getTreeId(), c1.getTreeId());
- insertCommit(c1);
+ ObjectId actid1 = insertCommit(c1);
final ObjectId cmtid1 = ObjectId.fromString(
"803aec4aba175e8ab1d666873c984c0308179099");
- assertEquals(cmtid1, c1.getCommitId());
+ assertEquals(cmtid1, actid1);
final CommitBuilder c2 = new CommitBuilder();
c2.setAuthor(new PersonIdent(author, 1154236443000L, -4 * 60));
c2.setMessage("A Commit 2\n");
c2.setTreeId(t.getTreeId());
assertEquals(t.getTreeId(), c2.getTreeId());
- c2.setParentIds(c1.getCommitId());
- insertCommit(c2);
+ c2.setParentIds(actid1);
+ ObjectId actid2 = insertCommit(c2);
final ObjectId cmtid2 = ObjectId.fromString(
"95d068687c91c5c044fb8c77c5154d5247901553");
- assertEquals(cmtid2, c2.getCommitId());
+ assertEquals(cmtid2, actid2);
RevCommit rm2 = parseCommit(cmtid2);
assertNotSame(c2, rm2); // assert the parsed objects is not from the cache
assertEquals(c2.getAuthor(), rm2.getAuthorIdent());
- assertEquals(c2.getCommitId(), rm2.getId());
+ assertEquals(actid2, rm2.getId());
assertEquals(c2.getMessage(), rm2.getFullMessage());
assertEquals(c2.getTreeId(), rm2.getTree().getId());
assertEquals(1, rm2.getParentCount());
- assertEquals(c1.getCommitId(), rm2.getParent(0));
+ assertEquals(actid1, rm2.getParent(0));
final CommitBuilder c3 = new CommitBuilder();
c3.setAuthor(new PersonIdent(author, 1154236443000L, -4 * 60));
c3.setMessage("A Commit 3\n");
c3.setTreeId(t.getTreeId());
assertEquals(t.getTreeId(), c3.getTreeId());
- c3.setParentIds(c1.getCommitId(), c2.getCommitId());
- insertCommit(c3);
+ c3.setParentIds(actid1, actid2);
+ ObjectId actid3 = insertCommit(c3);
final ObjectId cmtid3 = ObjectId.fromString(
"ce6e1ce48fbeeb15a83f628dc8dc2debefa066f4");
- assertEquals(cmtid3, c3.getCommitId());
+ assertEquals(cmtid3, actid3);
RevCommit rm3 = parseCommit(cmtid3);
assertNotSame(c3, rm3); // assert the parsed objects is not from the cache
assertEquals(c3.getAuthor(), rm3.getAuthorIdent());
- assertEquals(c3.getCommitId(), rm3.getId());
+ assertEquals(actid3, rm3.getId());
assertEquals(c3.getMessage(), rm3.getFullMessage());
assertEquals(c3.getTreeId(), rm3.getTree().getId());
assertEquals(2, rm3.getParentCount());
- assertEquals(c1.getCommitId(), rm3.getParent(0));
- assertEquals(c2.getCommitId(), rm3.getParent(1));
+ assertEquals(actid1, rm3.getParent(0));
+ assertEquals(actid2, rm3.getParent(1));
final CommitBuilder c4 = new CommitBuilder();
c4.setAuthor(new PersonIdent(author, 1154236443000L, -4 * 60));
c4.setMessage("A Commit 4\n");
c4.setTreeId(t.getTreeId());
assertEquals(t.getTreeId(), c3.getTreeId());
- c4.setParentIds(c1.getCommitId(), c2.getCommitId(), c3.getCommitId());
- insertCommit(c4);
+ c4.setParentIds(actid1, actid2, actid3);
+ ObjectId actid4 = insertCommit(c4);
final ObjectId cmtid4 = ObjectId.fromString(
"d1fca9fe3fef54e5212eb67902c8ed3e79736e27");
- assertEquals(cmtid4, c4.getCommitId());
+ assertEquals(cmtid4, actid4);
RevCommit rm4 = parseCommit(cmtid4);
assertNotSame(c4, rm3); // assert the parsed objects is not from the cache
assertEquals(c4.getAuthor(), rm4.getAuthorIdent());
- assertEquals(c4.getCommitId(), rm4.getId());
+ assertEquals(actid4, rm4.getId());
assertEquals(c4.getMessage(), rm4.getFullMessage());
assertEquals(c4.getTreeId(), rm4.getTree().getId());
assertEquals(3, rm4.getParentCount());
- assertEquals(c1.getCommitId(), rm4.getParent(0));
- assertEquals(c2.getCommitId(), rm4.getParent(1));
- assertEquals(c3.getCommitId(), rm4.getParent(2));
+ assertEquals(actid1, rm4.getParent(0));
+ assertEquals(actid2, rm4.getParent(1));
+ assertEquals(actid3, rm4.getParent(2));
}
public void test027_UnpackedRefHigherPriorityThanPacked() throws IOException {
private static final byte[] hencoding = Constants.encodeASCII("encoding");
- private ObjectId commitId;
-
private ObjectId treeId;
private ObjectId[] parentIds;
encoding = Constants.CHARSET;
}
- /** @return this commit's object id. */
- public ObjectId getCommitId() {
- return commitId;
- }
-
- /**
- * Set the id of this commit object.
- *
- * @param id
- * the id that we calculated for this object.
- */
- public void setCommitId(final ObjectId id) {
- commitId = id;
- }
-
/** @return id of the root tree listing this commit's snapshot. */
public ObjectId getTreeId() {
return treeId;
*/
public void setTreeId(AnyObjectId id) {
treeId = id.copy();
- commitId = null;
}
/** @return the author of this commit (who wrote it). */
*/
public void setAuthor(PersonIdent newAuthor) {
author = newAuthor;
- commitId = null;
}
/** @return the committer and commit time for this object. */
*/
public void setCommitter(PersonIdent newCommitter) {
committer = newCommitter;
- commitId = null;
}
/** @return the ancestors of this commit. Never null. */
*/
public void setParentId(AnyObjectId newParent) {
parentIds = new ObjectId[] { newParent.copy() };
- commitId = null;
}
/**
*/
public void setParentIds(AnyObjectId parent1, AnyObjectId parent2) {
parentIds = new ObjectId[] { parent1.copy(), parent2.copy() };
- commitId = null;
}
/**
parentIds = new ObjectId[newParents.length];
for (int i = 0; i < newParents.length; i++)
parentIds[i] = newParents[i].copy();
- commitId = null;
}
/**
parentIds = new ObjectId[newParents.size()];
for (int i = 0; i < newParents.size(); i++)
parentIds[i] = newParents.get(i).copy();
- commitId = null;
}
/**
newParents[i] = parentIds[i];
newParents[parentIds.length] = additionalParent.copy();
parentIds = newParents;
- commitId = null;
}
}
/**
* Format this builder's state as a commit object.
*
- * As a side effect, {@link #getCommitId()} will be populated with the
- * proper ObjectId for the formatted content.
- *
* @return this object in the canonical commit format, suitable for storage
* in a repository.
* @throws UnsupportedEncodingException
* supported by this Java runtime.
*/
public byte[] build() throws UnsupportedEncodingException {
- return build(new ObjectInserter.Formatter());
- }
-
- /**
- * Format this builder's state as a commit object.
- *
- * As a side effect, {@link #getCommitId()} will be populated with the
- * proper ObjectId for the formatted content.
- *
- * @param oi
- * the inserter whose formatting support will be reused. The
- * inserter itself is not affected, and the commit is not
- * actually inserted into the repository.
- * @return this object in the canonical commit format, suitable for storage
- * in a repository.
- * @throws UnsupportedEncodingException
- * the encoding specified by {@link #getEncoding()} is not
- * supported by this Java runtime.
- */
- public byte[] build(ObjectInserter oi) throws UnsupportedEncodingException {
ByteArrayOutputStream os = new ByteArrayOutputStream();
OutputStreamWriter w = new OutputStreamWriter(os, getEncoding());
try {
//
throw new RuntimeException(err);
}
-
- byte[] content = os.toByteArray();
- setCommitId(oi.idFor(Constants.OBJ_COMMIT, content));
- return content;
+ return os.toByteArray();
}
@Override
public String toString() {
StringBuilder r = new StringBuilder();
r.append("Commit");
- if (commitId != null)
- r.append("[" + commitId.name() + "]");
r.append("={\n");
r.append("tree ");
* {@link org.eclipse.jgit.revwalk.RevWalk#parseTag(AnyObjectId)}.
*/
public class TagBuilder {
- private ObjectId tagId;
-
private ObjectId object;
private int type = Constants.OBJ_BAD;
private String message;
- /** @return this tag's object id. */
- public ObjectId getTagId() {
- return tagId;
- }
-
- /**
- * Set the id of this tag object.
- *
- * @param id
- * the id that we calculated for this object.
- */
- public void setTagId(ObjectId id) {
- tagId = id;
- }
-
/** @return the type of object this tag refers to. */
public int getObjectType() {
return type;
public void setObjectId(AnyObjectId obj, int objType) {
object = obj.copy();
type = objType;
- tagId = null;
}
/**
*/
public void setTag(String shortName) {
this.tag = shortName;
- tagId = null;
}
/** @return creator of this tag. May be null. */
*/
public void setTagger(PersonIdent taggerIdent) {
tagger = taggerIdent;
- tagId = null;
}
/** @return the complete commit message. */
*/
public void setMessage(final String newMessage) {
message = newMessage;
- tagId = null;
}
/**
* Format this builder's state as an annotated tag object.
*
- * As a side effect, {@link #getTagId()} will be populated with the proper
- * ObjectId for the formatted content.
- *
* @return this object in the canonical annotated tag format, suitable for
* storage in a repository.
*/
public byte[] build() {
- return build(new ObjectInserter.Formatter());
- }
-
- /**
- * Format this builder's state as an annotated tag object.
- *
- * As a side effect, {@link #getTagId()} will be populated with the proper
- * ObjectId for the formatted content.
- *
- * @param oi
- * the inserter whose formatting support will be reused. The
- * inserter itself is not affected, and the annotated tag is not
- * actually inserted into the repository.
- * @return this object in the canonical annotated tag format, suitable for
- * storage in a repository.
- */
- public byte[] build(ObjectInserter oi) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
OutputStreamWriter w = new OutputStreamWriter(os, Constants.CHARSET);
try {
//
throw new RuntimeException(err);
}
-
- byte[] content = os.toByteArray();
- setTagId(oi.idFor(Constants.OBJ_TAG, content));
- return content;
+ return os.toByteArray();
}
@Override
public String toString() {
StringBuilder r = new StringBuilder();
r.append("Tag");
- if (tagId != null)
- r.append("[" + tagId.name() + "]");
r.append("={\n");
r.append("object ");