UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

51 lines (46 loc) 1.58 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var node_nodeCommand = require('../node/node-command.js'); var nodejs_path = require('../nodejs/path.js'); var git_ssh = require('./ssh.js'); require('@babel/runtime/helpers/typeof'); require('../nodejs/child_process.js'); /** * 根据配置表,重新 clone 仓库 * @param {Array<item>} list 列表 * @param {string} item.root 路径 * @param {string} item.origin origin * @example * ```ts * reCloneGitRemote([ * { * root: '/Users/foo/Documents/git/t-comm', * origin: 'https://github.com/novlan1/t-comm', * }, * { * root: '/Users/foo/Documents/git/api', * origin: 'git@git.woa.com:pmd-mobile/pmd-h5/api.git', * }, * ]); * // 会先 rm -rf 目标目录,再用 ssh 协议重新 clone * ``` */ function reCloneGitRemote() { var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; list.forEach(function (item) { var root = item.root, origin = item.origin; var realOrigin = git_ssh.transformGitToSSH(origin.trim()); console.log('[reCloneGitRemote] root: ', root); console.log('[reCloneGitRemote] origin: ', realOrigin); node_nodeCommand.execCommand("rm -rf ".concat(root)); var dir = nodejs_path.getPath().dirname(root); console.log('[reCloneGitRemote] dir: ', dir); try { node_nodeCommand.execCommand("git clone ".concat(realOrigin), dir, 'inherit'); } catch (err) { console.log('[reCloneGitRemote] err: ', err); } }); } exports.reCloneGitRemote = reCloneGitRemote;