summaryrefslogtreecommitdiff
path: root/deps/npm/lib/submodule.js
diff options
context:
space:
mode:
authorTimothy J Fontaine <tjfontaine@gmail.com>2014-08-07 16:33:35 -0700
committerTimothy J Fontaine <tjfontaine@gmail.com>2014-08-07 16:33:35 -0700
commita5778cdf01425ae39cea80b62f9ec6740aec724a (patch)
tree6b011b6046ca68ee33e2cd811048f3e40558d7d9 /deps/npm/lib/submodule.js
parent28eee0adb7884e21217c99cbf10a681c7d91b64a (diff)
parentb0277f35bd86d441255dc5a4c19e577e03f03a47 (diff)
downloadandroid-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.tar.gz
android-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.tar.bz2
android-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.zip
Merge remote-tracking branch 'upstream/v0.10' into v0.12
Conflicts: ChangeLog Makefile deps/uv/ChangeLog deps/uv/build.mk deps/uv/src/unix/darwin.c deps/uv/src/unix/getaddrinfo.c deps/uv/src/version.c deps/v8/src/checks.h deps/v8/src/isolate.h lib/cluster.js lib/module.js lib/timers.js lib/tls.js src/node_version.h
Diffstat (limited to 'deps/npm/lib/submodule.js')
-rw-r--r--deps/npm/lib/submodule.js66
1 files changed, 19 insertions, 47 deletions
diff --git a/deps/npm/lib/submodule.js b/deps/npm/lib/submodule.js
index 5ea5a4f463..2231ced9cf 100644
--- a/deps/npm/lib/submodule.js
+++ b/deps/npm/lib/submodule.js
@@ -5,8 +5,8 @@
module.exports = submodule
var npm = require("./npm.js")
- , exec = require("child_process").execFile
, cache = require("./cache.js")
+ , git = require("./utils/git.js")
, asyncMap = require("slide").asyncMap
, chain = require("slide").chain
, which = require("which")
@@ -56,64 +56,36 @@ function submodule_ (pkg, cb) {
}
function updateSubmodule (name, cb) {
- var git = npm.config.get("git")
var args = [ "submodule", "update", "--init", "node_modules/", name ]
- // check for git
- which(git, function (err) {
- if (err) {
- err.code = "ENOGIT"
- return cb(err)
- }
-
- exec(git, args, cb)
- })
+ git.whichAndExec(args, cb)
}
function addSubmodule (name, url, cb) {
- var git = npm.config.get("git")
var args = [ "submodule", "add", url, "node_modules/", name ]
- // check for git
- which(git, function (err) {
- if (err) {
- err.code = "ENOGIT"
- return cb(err)
- }
-
- exec(git, args, function (er) {
- if (er) return cb(er)
- updateSubmodule(name, cb)
- })
- })
+ git.whichAndExec(args, cb)
}
-var getSubmodules = function getSubmodules (cb) {
- var git = npm.config.get("git")
+var getSubmodules = function (cb) {
var args = [ "submodule", "status" ]
- // check for git
- which(git, function (err) {
- if (err) {
- err.code = "ENOGIT"
- return cb(err)
- }
- exec(git, args, function (er, stdout) {
- if (er) return cb(er)
- var res = stdout.trim().split(/\n/).map(function (line) {
- return line.trim().split(/\s+/)[1]
- }).filter(function (line) {
- // only care about submodules in the node_modules folder.
- return line && line.match(/^node_modules\//)
- }).map(function (line) {
- return line.replace(/^node_modules\//g, "")
- })
-
- // memoize.
- getSubmodules = function (cb) { return cb(null, res) }
-
- cb(null, res)
+
+ git.whichAndExec(args, function _(er, stdout) {
+ if (er) return cb(er)
+ var res = stdout.trim().split(/\n/).map(function (line) {
+ return line.trim().split(/\s+/)[1]
+ }).filter(function (line) {
+ // only care about submodules in the node_modules folder.
+ return line && line.match(/^node_modules\//)
+ }).map(function (line) {
+ return line.replace(/^node_modules\//g, "")
})
+
+ // memoize.
+ getSubmodules = function (cb) { return cb(null, res) }
+
+ cb(null, res)
})
}