aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Halstrick <christian.halstrick@sap.com>2018-04-13 05:14:43 -0400
committerGerrit Code Review @ Eclipse.org <gerrit@eclipse.org>2018-04-13 05:14:43 -0400
commit7cf29ba3e389554641b21d0ac19d9c63462ab888 (patch)
treea10e97a877dda05ca3c02ee07a9205bcf2eb8e3f
parente5ba2c9bdae8c0a18ae9b5b8e5f255aae254b864 (diff)
parent45599ae86d33d2a681acb8723e01c9b42e4fd335 (diff)
downloadjgit-7cf29ba3e389554641b21d0ac19d9c63462ab888.tar.gz
jgit-7cf29ba3e389554641b21d0ac19d9c63462ab888.zip
Merge "Allow '@' as last character of ref"
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java2
2 files changed, 4 insertions, 0 deletions
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 1d2a4e9ab7..05b78ea195 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
@@ -324,6 +324,8 @@ public class RepositoryResolveTest extends SampleDataRepositoryTestCase {
assertFalse(Repository.isValidRefName("x/a\\b"));
assertFalse(Repository.isValidRefName("x/a\u0000"));
+ db.resolve("x/a@");
+
assertUnparseable(".");
assertUnparseable("x@{3");
assertUnparseable("x[b");
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 c43037ea0e..3d85ee4e47 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
@@ -686,6 +686,8 @@ public abstract class Repository implements AutoCloseable {
case '@':
if (rev != null)
throw new RevisionSyntaxException(revstr);
+ if (i + 1 == revChars.length)
+ continue;
if (i + 1 < revChars.length && revChars[i + 1] != '{')
continue;
int m;