From fe98218e0df85012cb9b901c71c44f232f65cb3a Mon Sep 17 00:00:00 2001 From: Jonathan Nieder Date: Thu, 19 Nov 2015 12:47:18 -0800 Subject: [PATCH] repo: Do not use search path to find refs/remotes/origin/ When running from a non-bare repository, "jgit repo" checks whether the rev passed in is a sha1 or branch name and in the latter case will check out origin/. We are expecting refs/remotes/origin/, but as a side effect of using getRef we also end up looking for refs/origin/, refs/heads/origin/, and so on. Avoid that by using exactRef instead. Signed-off-by: Jonathan Nieder Change-Id: I670b2e48a88138a1f2104ea201baa958e9edbddb --- .../src/org/eclipse/jgit/gitrepo/RepoCommand.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java index 1d2d3bfaaf..ff9f233aa5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java @@ -42,6 +42,9 @@ */ package org.eclipse.jgit.gitrepo; +import static org.eclipse.jgit.lib.Constants.DEFAULT_REMOTE_NAME; +import static org.eclipse.jgit.lib.Constants.R_REMOTES; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -574,7 +577,7 @@ public class RepoCommand extends GitCommand { private static String findRef(String ref, Repository repo) throws IOException { if (!ObjectId.isId(ref)) { - Ref r = repo.getRef(Constants.DEFAULT_REMOTE_NAME + "/" + ref); //$NON-NLS-1$ + Ref r = repo.exactRef(R_REMOTES + DEFAULT_REMOTE_NAME + "/" + ref); //$NON-NLS-1$ if (r != null) return r.getName(); } -- 2.39.5