From 51d0ab2ce1e95c59ea0ba3c40cb83ba0564cf260 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 29 Jun 2008 03:59:20 -0400 Subject: [PATCH] Simplify walker transport ref advertisement setup We need to perform the same advertisement setup during push for any of these protocols but we won't have a WalkFetchConnection. Returning the map simplifies the code and allows it to be used for the push variant. Signed-off-by: Shawn O. Pearce Signed-off-by: Robin Rosenberg --- .../src/org/spearce/jgit/transport/TransportHttp.java | 15 +++++++-------- .../src/org/spearce/jgit/transport/TransportSftp.java | 8 ++++---- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportHttp.java b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportHttp.java index b18b8e36..231dbfe9 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportHttp.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportHttp.java @@ -50,6 +50,7 @@ import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Collection; +import java.util.Map; import java.util.TreeMap; import org.spearce.jgit.errors.NotSupportedException; @@ -102,7 +103,7 @@ class TransportHttp extends WalkTransport { public FetchConnection openFetch() throws TransportException { final HttpObjectDB c = new HttpObjectDB(objectsUrl); final WalkFetchConnection r = new WalkFetchConnection(this, c); - c.readAdvertisedRefs(r); + r.available(c.readAdvertisedRefs()); return r; } @@ -188,12 +189,11 @@ class TransportHttp extends WalkTransport { } } - void readAdvertisedRefs(final WalkFetchConnection c) - throws TransportException { + Map readAdvertisedRefs() throws TransportException { try { final BufferedReader br = openReader(INFO_REFS); try { - readAdvertisedImpl(br, c); + return readAdvertisedImpl(br); } finally { br.close(); } @@ -208,9 +208,8 @@ class TransportHttp extends WalkTransport { } } - private void readAdvertisedImpl(final BufferedReader br, - final WalkFetchConnection connection) throws IOException, - PackProtocolException { + private Map readAdvertisedImpl(final BufferedReader br) + throws IOException, PackProtocolException { final TreeMap avail = new TreeMap(); for (;;) { String line = br.readLine(); @@ -244,7 +243,7 @@ class TransportHttp extends WalkTransport { throw duplicateAdvertisement(name); } } - connection.available(avail); + return avail; } private PackProtocolException outOfOrderAdvertisement(final String n) { diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java index 092c5d33..c2f34f76 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java @@ -48,6 +48,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.TreeMap; import org.spearce.jgit.errors.TransportException; @@ -96,7 +97,7 @@ class TransportSftp extends WalkTransport { public FetchConnection openFetch() throws TransportException { final SftpObjectDB c = new SftpObjectDB(uri.getPath()); final WalkFetchConnection r = new WalkFetchConnection(this, c); - c.readAdvertisedRefs(r); + r.available(c.readAdvertisedRefs()); return r; } @@ -245,8 +246,7 @@ class TransportSftp extends WalkTransport { } } - void readAdvertisedRefs(final WalkFetchConnection connection) - throws TransportException { + Map readAdvertisedRefs() throws TransportException { final TreeMap avail = new TreeMap(); try { final BufferedReader br = openReader("../packed-refs"); @@ -262,7 +262,7 @@ class TransportSftp extends WalkTransport { } readRef(avail, "../HEAD", "HEAD"); readLooseRefs(avail, "../refs", "refs/"); - connection.available(avail); + return avail; } private void readPackedRefs(final TreeMap avail, -- 2.11.4.GIT