From b127fa19ebae69b318d88ac0389d779d22c7eaa0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 22 Aug 2011 13:10:31 -0700 Subject: [PATCH] Unwind loop that iterates over fetch connection refs. Create separate loops based on whether the ref specs collection is empty or not. Change-Id: I2861b45fe083675e12ff47f591e104f8cf6dd216 Signed-off-by: Kevin Sawicki --- .../org/eclipse/jgit/api/LsRemoteCommand.java | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java index 9d036e24f..093d6cc1b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java @@ -73,7 +73,9 @@ public class LsRemoteCommand extends GitCommand> { private String remote = Constants.DEFAULT_REMOTE_NAME; private boolean heads; + private boolean tags; + private String uploadPack; /** @@ -118,7 +120,7 @@ public class LsRemoteCommand extends GitCommand> { /** * The full path of git-upload-pack on the remote host - * + * * @param uploadPack */ public void setUploadPack(String uploadPack) { @@ -134,32 +136,27 @@ public class LsRemoteCommand extends GitCommand> { try { Collection refSpecs = new ArrayList(1); - if (tags) { + if (tags) refSpecs.add(new RefSpec( "refs/tags/*:refs/remotes/origin/tags/*")); - } - if (heads) { + if (heads) refSpecs.add(new RefSpec( "refs/heads/*:refs/remotes/origin/*")); - } Collection refs; Map refmap = new HashMap(); FetchConnection fc = transport.openFetch(); try { refs = fc.getRefs(); - for (Ref r : refs) { - boolean found = refSpecs.isEmpty(); - for (RefSpec rs : refSpecs) { - if (rs.matchSource(r)) { - found = true; - break; - } - } - if (found) { + if (refSpecs.isEmpty()) + for (Ref r : refs) refmap.put(r.getName(), r); - } - - } + else + for (Ref r : refs) + for (RefSpec rs : refSpecs) + if (rs.matchSource(r)) { + refmap.put(r.getName(), r); + break; + } } finally { fc.close(); }