swift - 尝试通过 Swift 克隆 git 存储库遇到协议违规
问题描述
Darwin-via-Swift Neophyte 在这里。
这是以下内容的延续:Process() 简介。
我正在尝试使用 Swift 作为自动化达尔文级流程的一种手段,例如克隆 git 存储库、压缩文件夹等。
我得到了一个模板来尝试进行克隆(通过上面的链接)。
我创建了一个测试链接;并在达尔文提示下进行了尝试。
所以我知道它有效。
但是我通过我的 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"
推荐阅读
- javascript - 通过Javascript避免在html列表中的列表中重复
- react-native - 将本机重定向到具有类的另一个页面
- java - 如何在spring boot中重写java.sql.Array Descriptor和java.sql.ARRAY?
- java - 有人可以举一些关于 TypeIdentifier 的例子吗?
- express - 如何使用 expressjs vhost 功能运行多个 nuxt 实例
- javascript - Google Script for loop 每次调用时都会运行整个数组 - 寻找
- excel - VBA代码后无法再访问我的excel工作簿
- javascript - 我可以使用什么 vanilla javascript api 来确定图像是否已完成加载?
- android-studio - java.lang.NumberFormatException:对于输入字符串:“文件名”,同时从文件管理器中选择文件。安卓工作室
- python - 抓取数据推特时语法无效?