From 26f33b9581e91797f08fc57b1bff140a43898421 Mon Sep 17 00:00:00 2001 From: Mat Scales Date: Fri, 24 May 2013 17:29:16 +0100 Subject: [PATCH] Check that git is installed when instantiating a git resolver --- lib/core/resolvers/GitResolver.js | 13 +++++++++++++ package.json | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/core/resolvers/GitResolver.js b/lib/core/resolvers/GitResolver.js index 02aa1fc6..0c37a147 100644 --- a/lib/core/resolvers/GitResolver.js +++ b/lib/core/resolvers/GitResolver.js @@ -7,9 +7,22 @@ var rimraf = require('rimraf'); var mout = require('mout'); var Resolver = require('./Resolver'); var createError = require('../../util/createError'); +var which = require('which'); + +var gitChecked = false; var GitResolver = function (source, options) { Resolver.call(this, source, options); + + if (!gitChecked) { + try { + which.sync('git'); + } catch (ex) { + throw new Error('git is not installed or not in the PATH'); + } + } + + gitChecked = true; }; util.inherits(GitResolver, Resolver); diff --git a/package.json b/package.json index bad459d5..8eb6fb7e 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,8 @@ "grunt-contrib-watch": "~0.4.3", "grunt": "~0.4.1", "grunt-contrib-jshint": "~0.5.4", - "grunt-execute": "~0.1.4" + "grunt-execute": "~0.1.4", + "which": "~1.0.5" }, "scripts": { "test": "grunt test"