diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-08-20 09:32:07 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-08-20 17:38:53 -0700 |
commit | b205597b91027bf56ef9e7a6398c3037f662feb2 (patch) | |
tree | e30581f92e7a16f4be2bd539be3bb2c4340173d9 /org.eclipse.jgit.test/tst/org | |
parent | 707912b35d3375ea70808e176e028aa086d01451 (diff) | |
download | jgit-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.java | 21 |
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); } |