From 5c027cb356a43104b57eacfbe84827bd6fedc5ca Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Sun, 13 Apr 2008 20:43:36 +0200 Subject: [PATCH] Repository.mapObject broke after merge with revised engine The compiler only flagged the problem as a warning. Oddly enough fetch still worked. Signed-off-by: Robin Rosenberg --- org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0003_Basic.java | 8 ++++++++ org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0003_Basic.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0003_Basic.java index 96c71b72..f843b85f 100644 --- a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0003_Basic.java +++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0003_Basic.java @@ -515,4 +515,12 @@ public class T0003_Basic extends RepositoryTestCase { assertTrue(new File(db.getDirectory(), "refs/heads/foobar").exists()); assertEquals(newId2, db.resolve("refs/heads/foobar")); } + + public void test029_mapObject() throws IOException { + assertEquals(new byte[0].getClass(), db.mapObject(ObjectId.fromString("5b6e7c66c276e7610d4a73c70ec1a1f7c1003259"), null).getClass()); + assertEquals(Commit.class, db.mapObject(ObjectId.fromString("540a36d136cf413e4b064c2b0e0a4db60f77feab"), null).getClass()); + assertEquals(Tree.class, db.mapObject(ObjectId.fromString("aabf2ffaec9b497f0950352b3e582d73035c2035"), null).getClass()); + assertEquals(Tag.class, db.mapObject(ObjectId.fromString("17768080a2318cd89bba4c8b87834401e2095703"), null).getClass()); + + } } diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java index 2261e1a5..e2fd0f3f 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java @@ -351,13 +351,13 @@ public class Repository { public Object mapObject(final ObjectId id, final String refName) throws IOException { final ObjectLoader or = openObject(id); final byte[] raw = or.getBytes(); - if (Constants.TYPE_TREE.equals(or.getType())) + if (or.getType() == Constants.OBJ_TREE) return makeTree(id, raw); - if (Constants.TYPE_COMMIT.equals(or.getType())) + if (or.getType() == Constants.OBJ_COMMIT) return makeCommit(id, raw); - if (Constants.TYPE_TAG.equals(or.getType())) + if (or.getType() == Constants.OBJ_TAG) return makeTag(id, refName, raw); - if (Constants.TYPE_BLOB.equals(or.getType())) + if (or.getType() == Constants.OBJ_BLOB) return raw; return null; } -- 2.11.4.GIT