我想使用 npm 包 nodegit 克隆一个私有存储库。我遵循了克隆私有存储库的指南并将克隆选项设置为流,
cloneOptions:
remoteCallbacks:
certificateCheck: ()-> return 1
credentials: ()->
return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic")
但我得到一个错误说,"authentication required but no callback set"
。于是查了一些相关的源码nodegit
,设置cloneOptions
如下,
cloneOptions =
fetchOpts:
callbacks:
certificateCheck: ()-> return 1 # For OS X issue with GitHub certificate
credentials: ()->
cred = NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-auth-basic")
return cred
这段代码的行为有点奇怪,因为它似乎克隆了存储库但cloneOpts.fetchOpts.callbacks.credential()
被重复调用并且程序并没有停止运行。
如果我改为使用用户名和密码作为 , 的参数git.Cred.userpassPlaintextNew
,credentials()
则只调用一次(这是预期的行为)并且存储库被克隆。
谁能给我一些关于我的代码有什么问题的提示?