Subject: [JGIT PATCH v2] Send non-standard port in host header of git://

From: "Shawn O. Pearce" <[email-masked]>
Date: Wed, 3 Jun 2009 10:19:00 -0700

On a git://host:port/path style URL, if port is not the IANA
registered port 9418 for git, the remote git daemon expects
us to send "\0host=host:port\0" in the virtual host slot.

Signed-off-by: Shawn O. Pearce <[email-masked]>
---
 Arrrgh.  v2 deals with the case when the port isn't in the URL at
 all, its <= 0, in which case its the default port, so we shouldn't
 send it to the server.

 Sorry.  :-)

 .../spearce/jgit/transport/TransportGitAnon.java   |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportGitAnon.java b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportGitAnon.java
index add7e2a..0c80b9d 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportGitAnon.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportGitAnon.java
@@ -103,6 +103,10 @@ void service(final String name, final PacketLineOut pckOut)
 		cmd.append('\0');
 		cmd.append("host=");
 		cmd.append(uri.getHost());
+		if (uri.getPort() > 0 && uri.getPort() != GIT_PORT) {
+			cmd.append(":");
+			cmd.append(uri.getPort());
+		}
 		cmd.append('\0');
 		pckOut.writeString(cmd.toString());
 		pckOut.flush();
-- 
1.6.3.1.333.g3ebba7