diff options
author | Danijel Andjelkovic <adanijel99@gmail.com> | 2022-03-01 20:21:29 +0000 |
---|---|---|
committer | Danijel Andjelkovic <adanijel99@gmail.com> | 2022-03-01 20:21:29 +0000 |
commit | 61cb1570a3410c85a4489b97c172e3a50715f36c (patch) | |
tree | 8fe4a5b77ea54bba80abc817ce2c9ef0e79e7e66 /sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js | |
parent | 21a53d349788c99d2007cba91a923db982353b31 (diff) | |
parent | a9ee9e0a500a4a15bd0b5dcaf041f827228ed309 (diff) |
Merge branch 'researchML' into 'dev'
Research ml
See merge request igrannonica/neuronstellar!6
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js')
-rw-r--r-- | sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js b/sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js new file mode 100644 index 00000000..1c89a4c5 --- /dev/null +++ b/sandbox/testAppNevena/Front/node_modules/@npmcli/git/lib/spawn.js @@ -0,0 +1,43 @@ +const spawn = require('@npmcli/promise-spawn') +const promiseRetry = require('promise-retry') +const makeError = require('./make-error.js') +const whichGit = require('./which.js') +const makeOpts = require('./opts.js') +const procLog = require('./proc-log.js') + +module.exports = (gitArgs, opts = {}) => { + const gitPath = whichGit(opts) + + if (gitPath instanceof Error) { return Promise.reject(gitPath) } + + // undocumented option, mostly only here for tests + const args = opts.allowReplace || gitArgs[0] === '--no-replace-objects' + ? gitArgs + : ['--no-replace-objects', ...gitArgs] + + const log = opts.log || procLog + let retry = opts.retry + if (retry === null || retry === undefined) { + retry = { + retries: opts.fetchRetries || 2, + factor: opts.fetchRetryFactor || 10, + maxTimeout: opts.fetchRetryMaxtimeout || 60000, + minTimeout: opts.fetchRetryMintimeout || 1000 + } + } + return promiseRetry((retry, number) => { + if (number !== 1) { + log.silly('git', `Retrying git command: ${ + args.join(' ')} attempt # ${number}`) + } + + return spawn(gitPath, args, makeOpts(opts)) + .catch(er => { + const gitError = makeError(er) + if (!gitError.shouldRetry(number)) { + throw gitError + } + retry(gitError) + }) + }, retry) +} |