[JGIT PATCH 10/21] Simplify walker transport ref advertisement setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <spearce@xxxxxxxxxxx>
---
 .../org/spearce/jgit/transport/TransportHttp.java  |   15 +++++++--------
 .../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 b18b8e3..231dbfe 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<String, Ref> 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<String, Ref> readAdvertisedImpl(final BufferedReader br)
+				throws IOException, PackProtocolException {
 			final TreeMap<String, Ref> avail = new TreeMap<String, Ref>();
 			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 092c5d3..c2f34f7 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<String, Ref> readAdvertisedRefs() throws TransportException {
 			final TreeMap<String, Ref> avail = new TreeMap<String, Ref>();
 			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<String, Ref> avail,
-- 
1.5.6.74.g8a5e

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux