diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java index 4f14b52bc..687076f10 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java @@ -106,9 +106,9 @@ * type of Repository the test data is stored on. */ public class TestRepository { - private static final PersonIdent author; + private static final PersonIdent defaultAuthor; - private static final PersonIdent committer; + private static final PersonIdent defaultCommitter; static { final MockSystemReader m = new MockSystemReader(); @@ -117,11 +117,11 @@ public class TestRepository { final String an = "J. Author"; final String ae = "jauthor@example.com"; - author = new PersonIdent(an, ae, now, tz); + defaultAuthor = new PersonIdent(an, ae, now, tz); final String cn = "J. Committer"; final String ce = "jcommitter@example.com"; - committer = new PersonIdent(cn, ce, now, tz); + defaultCommitter = new PersonIdent(cn, ce, now, tz); } private final R db; @@ -191,8 +191,8 @@ public void tick(final int secDelta) { * the commit builder to store. */ public void setAuthorAndCommitter(org.eclipse.jgit.lib.CommitBuilder c) { - c.setAuthor(new PersonIdent(author, new Date(now))); - c.setCommitter(new PersonIdent(committer, new Date(now))); + c.setAuthor(new PersonIdent(defaultAuthor, new Date(now))); + c.setCommitter(new PersonIdent(defaultCommitter, new Date(now))); } /** @@ -370,8 +370,8 @@ public RevCommit commit(final int secDelta, final RevTree tree, c = new org.eclipse.jgit.lib.CommitBuilder(); c.setTreeId(tree); c.setParentIds(parents); - c.setAuthor(new PersonIdent(author, new Date(now))); - c.setCommitter(new PersonIdent(committer, new Date(now))); + c.setAuthor(new PersonIdent(defaultAuthor, new Date(now))); + c.setCommitter(new PersonIdent(defaultCommitter, new Date(now))); c.setMessage(""); ObjectId id; try (ObjectInserter ins = inserter) { @@ -406,7 +406,7 @@ public RevTag tag(final String name, final RevObject dst) throws Exception { final TagBuilder t = new TagBuilder(); t.setObjectId(dst); t.setTag(name); - t.setTagger(new PersonIdent(committer, new Date(now))); + t.setTagger(new PersonIdent(defaultCommitter, new Date(now))); t.setMessage(""); ObjectId id; try (ObjectInserter ins = inserter) { @@ -746,6 +746,9 @@ public class CommitBuilder { private RevCommit self; + private PersonIdent author; + private PersonIdent committer; + CommitBuilder() { branch = null; } @@ -837,6 +840,22 @@ public CommitBuilder tick(int secs) { return this; } + public CommitBuilder ident(PersonIdent ident) { + author = ident; + committer = ident; + return this; + } + + public CommitBuilder author(PersonIdent a) { + author = a; + return this; + } + + public CommitBuilder committer(PersonIdent c) { + committer = c; + return this; + } + public RevCommit create() throws Exception { if (self == null) { TestRepository.this.tick(tick); @@ -846,6 +865,10 @@ public RevCommit create() throws Exception { c = new org.eclipse.jgit.lib.CommitBuilder(); c.setParentIds(parents); setAuthorAndCommitter(c); + if (author != null) + c.setAuthor(author); + if (committer != null) + c.setCommitter(committer); c.setMessage(message); ObjectId commitId;