From 3d5e70bc5a821406558544bb9854f1a5b0ff53b7 Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Wed, 11 Mar 2015 11:28:15 -0700 Subject: [PATCH] TestRepository: Allow custom author/committer per-commit Change-Id: I078fe00470ebe60f93f4a718c163dd1412fdc776 --- .../eclipse/jgit/junit/TestRepository.java | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) 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 @@ import org.eclipse.jgit.util.io.SafeBufferedOutputStream; * 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 class TestRepository { * 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 class TestRepository { 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 class TestRepository { 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 TestRepository { private RevCommit self; + private PersonIdent author; + private PersonIdent committer; + CommitBuilder() { branch = null; } @@ -837,6 +840,22 @@ public class TestRepository { 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 class TestRepository { 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;