From 03b5416a35ad78773fb0a97a98686fec18c0c05e Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Sun, 15 Jan 2012 23:51:43 +0100 Subject: [PATCH] Fix resolution of tree when path is empty Revision strings that end with a ':' with no trailing path should return the tree associated with the current ref parsed Bug: 368370 Change-Id: I7c7617a77bd418bad4e570be2d1e9002ad280762 Signed-off-by: Robin Rosenberg --- .../tst/org/eclipse/jgit/lib/RepositoryResolveTest.java | 4 ++++ org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java index aab3b7ade..f975a8773 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java @@ -218,6 +218,10 @@ public void testParseLookupPath() throws IOException { assertEquals(b2_txt, db.resolve("b:b/b2.txt")); assertEquals(b_root, db.resolve("b:")); + assertEquals(id("6020a3b8d5d636e549ccbd0c53e2764684bb3125"), + db.resolve("master:")); + assertEquals(id("10da5895682013006950e7da534b705252b03be6"), + db.resolve("master:b/b2.txt")); assertEquals(master_txt, db.resolve(":master.txt")); assertEquals(b3_b2_txt, db.resolve("b~3:b/b2.txt")); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java index 33607ccbd..bff4270af 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java @@ -560,7 +560,7 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti tree = rw.parseTree(ref); } - if (i == rev.length - i) + if (i == rev.length - 1) return tree.copy(); TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(),