Przeglądaj źródła

builder/remotecontext: allow ssh:// urls for remote context

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 5 lat temu
rodzic
commit
b1ffda5cea

+ 1 - 1
builder/remotecontext/git/gitutils.go

@@ -209,7 +209,7 @@ func isGitTransport(str string) bool {
 	}
 	}
 
 
 	switch getScheme(str) {
 	switch getScheme(str) {
-	case "git", "http", "https":
+	case "git", "http", "https", "ssh":
 		return true
 		return true
 	}
 	}
 
 

+ 26 - 0
builder/remotecontext/git/gitutils_test.go

@@ -83,6 +83,32 @@ func TestParseRemoteURL(t *testing.T) {
 				subdir: "mydir/mysubdir/",
 				subdir: "mydir/mysubdir/",
 			},
 			},
 		},
 		},
+		{
+			doc: "ssh, no url-fragment",
+			url: "ssh://github.com/user/repo.git",
+			expected: gitRepo{
+				remote: "ssh://github.com/user/repo.git",
+				ref:    "master",
+			},
+		},
+		{
+			doc: "ssh, with url-fragment",
+			url: "ssh://github.com/user/repo.git#mybranch:mydir/mysubdir/",
+			expected: gitRepo{
+				remote: "ssh://github.com/user/repo.git",
+				ref:    "mybranch",
+				subdir: "mydir/mysubdir/",
+			},
+		},
+		{
+			doc: "ssh, with url-fragment and user",
+			url: "ssh://foo%40barcorp.com@github.com/user/repo.git#mybranch:mydir/mysubdir/",
+			expected: gitRepo{
+				remote: "ssh://foo%40barcorp.com@github.com/user/repo.git",
+				ref:    "mybranch",
+				subdir: "mydir/mysubdir/",
+			},
+		},
 	}
 	}
 
 
 	for _, tc := range tests {
 	for _, tc := range tests {