ggit
Version:
Local promise-returning git command wrappers
17 lines (14 loc) • 531 B
JavaScript
var exec = require('./exec');
var verify = require('check-types').verify;
var fs = require('fs');
function cloneRepo(opts) {
verify.object(opts, 'missing clone options');
verify.unemptyString(opts.url, 'missing repo url');
verify.unemptyString(opts.folder, 'missing destination folder');
if (fs.existsSync(opts.folder)) {
throw new Error('Destination folder ' + opts.folder + ' already exists');
}
var cmd = 'git clone --depth 1 ' + opts.url + ' ' + opts.folder;
return exec(cmd);
}
module.exports = cloneRepo;