Я хочу клонировать частный репозиторий, используя nodegit, пакет npm. Я последовал a guides for cloning private repository и установить параметры клон как fllows,nodegit: клонирование частного репозитория с использованием маркера API GitHub не работает
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()
вызывается только один раз (что является ожидаемым поведением) и клонируется репозиторий.
Может ли кто-нибудь дать мне несколько советов о том, что не так с моими кодами?