尝试通过 Swift 克隆 git 存储库遇到协议冲突
Attempting to clone a git repository via Swift encounters a Protocol Violation
Darwin-via-Swift 这里是新手。
这是延续:。
我正在尝试使用 Swift 作为自动化达尔文级流程的方法,例如克隆 git 存储库、压缩文件夹等。
我得到了一个模板来尝试进行克隆(通过上面 link)。
我创建了一个测试 link;和
在 Darwin 提示符下试用它。
所以我知道它有效。
但是我通过 Swift 脚本收到协议错误。
这里的补救措施是什么?
是否有我必须使用的特定协议?
import Foundation
extension Process {
private static let gitExecURL = URL(fileURLWithPath: "/usr/bin/git")
public func clone(repo: String, path: String) throws {
executableURL = Process.gitExecURL
arguments = ["clone", repo, path]
try run()
}
}
let source = "git clone https://AmourineTech@bitbucket.org/AmourineTech/testbit.git"
let target = "/Users/Ric/workarea"
print("Hello, World!")
try! Process().clone(repo: source, path: target)
print("Done")
控制台输出:
Hello, World!
Done
Cloning into '/Users/Ric/workarea'...
fatal: protocol 'git clone https' is not supported
Program ended with exit code: 0
似乎 source
必须是 URL,而不是 git clone
命令:
let source = "https://AmourineTech@bitbucket.org/AmourineTech/testbit.git"
Darwin-via-Swift 这里是新手。
这是延续:
我正在尝试使用 Swift 作为自动化达尔文级流程的方法,例如克隆 git 存储库、压缩文件夹等。
我得到了一个模板来尝试进行克隆(通过上面 link)。
所以我知道它有效。
这里的补救措施是什么?
控制台输出:
我创建了一个测试 link;和
在 Darwin 提示符下试用它。
但是我通过 Swift 脚本收到协议错误。
是否有我必须使用的特定协议?import Foundation
extension Process {
private static let gitExecURL = URL(fileURLWithPath: "/usr/bin/git")
public func clone(repo: String, path: String) throws {
executableURL = Process.gitExecURL
arguments = ["clone", repo, path]
try run()
}
}
let source = "git clone https://AmourineTech@bitbucket.org/AmourineTech/testbit.git"
let target = "/Users/Ric/workarea"
print("Hello, World!")
try! Process().clone(repo: source, path: target)
print("Done")
Hello, World!
Done
Cloning into '/Users/Ric/workarea'...
fatal: protocol 'git clone https' is not supported
Program ended with exit code: 0
似乎 source
必须是 URL,而不是 git clone
命令:
let source = "https://AmourineTech@bitbucket.org/AmourineTech/testbit.git"