Преглед на файлове

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

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn преди 5 години
родител
ревизия
b1ffda5cea
променени са 2 файла, в които са добавени 27 реда и са изтрити 1 реда
  1. 1 1
      builder/remotecontext/git/gitutils.go
  2. 26 0
      builder/remotecontext/git/gitutils_test.go

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

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

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

@@ -83,6 +83,32 @@ func TestParseRemoteURL(t *testing.T) {
 				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 {