UNPKG

1.06 kBJavaScriptView Raw
1var proc = require('child_process')
2var u = require('./util')
3
4function hasRemote(name) {
5 var remotes = proc.spawnSync('git', ['remote']).stdout.toString().split(/\n/)
6 return !!~remotes.indexOf(name)
7}
8
9module.exports = function (argv) {
10 if (argv._.length < 1 || argv._.length > 2) return require('./help')(argv)
11
12 module.exports.createRepo(argv, argv._[0], argv._[1]);
13}
14
15module.exports.createRepo = function (config, remoteName, name, upstream) {
16 if (!remoteName) throw 'Missing remote name'
17 if (hasRemote(remoteName)) throw `Remote '${remoteName}' already exists`
18 u.getSbot(config, function (err, sbot) {
19 if (err) throw err
20 require('ssb-git-repo').createRepo(sbot, {
21 upstream: upstream,
22 name: name
23 }, function (err, repo) {
24 if (err) throw err
25 var url = 'ssb://' + repo.id
26 console.log('Created repo:', url, name ? '(' + name + ')' : '')
27 proc.spawnSync('git', ['remote', 'add', remoteName, url])
28 console.log('Added remote:', remoteName)
29 repo.close()
30 sbot.close()
31 })
32 })
33}
34