aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst/org
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2010-08-20 09:32:07 -0700
committerShawn O. Pearce <spearce@spearce.org>2010-08-20 17:38:53 -0700
commitb205597b91027bf56ef9e7a6398c3037f662feb2 (patch)
treee30581f92e7a16f4be2bd539be3bb2c4340173d9 /org.eclipse.jgit.test/tst/org
parent707912b35d3375ea70808e176e028aa086d01451 (diff)
downloadjgit-b205597b91027bf56ef9e7a6398c3037f662feb2.tar.gz
jgit-b205597b91027bf56ef9e7a6398c3037f662feb2.zip
Add a public RevCommit.parse() method
Callers might have a canonical commit encoding on hand that they wish to convert into a clean structure for presentation purposes, and the object may not be available in a repository. (E.g. maybe its a "draft" commit being written in an editor.) Change-Id: I21759cff337cbbb34dbdde91aec5aa4448a1ef37 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'org.eclipse.jgit.test/tst/org')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java
index b7e84419c9..9354373379 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java
@@ -44,9 +44,12 @@
package org.eclipse.jgit.revwalk;
import java.io.ByteArrayOutputStream;
+import java.io.UnsupportedEncodingException;
+import org.eclipse.jgit.lib.Commit;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
+import org.eclipse.jgit.lib.ObjectInserter;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.RepositoryTestCase;
@@ -315,6 +318,24 @@ public class RevCommitParseTest extends RepositoryTestCase {
assertEquals(shortMsg, c.getShortMessage());
}
+ public void testParse_PublicParseMethod()
+ throws UnsupportedEncodingException {
+ ObjectInserter.Formatter fmt = new ObjectInserter.Formatter();
+ Commit src = new Commit();
+ src.setTreeId(fmt.idFor(Constants.OBJ_TREE, new byte[] {}));
+ src.setAuthor(author);
+ src.setCommitter(committer);
+ src.setMessage("Test commit\n\nThis is a test.\n");
+
+ RevCommit p = RevCommit.parse(fmt.format(src));
+ assertEquals(src.getTreeId(), p.getTree());
+ assertEquals(0, p.getParentCount());
+ assertEquals(author, p.getAuthorIdent());
+ assertEquals(committer, p.getCommitterIdent());
+ assertEquals("Test commit", p.getShortMessage());
+ assertEquals(src.getMessage(), p.getFullMessage());
+ }
+
private static ObjectId id(final String str) {
return ObjectId.fromString(str);
}