'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _gulpGit = require('gulp-git');
var _gulpGit2 = _interopRequireDefault(_gulpGit);
var _gulp = require('gulp');
var _gulp2 = _interopRequireDefault(_gulp);
var _dedent = require('dedent');
var _dedent2 = _interopRequireDefault(_dedent);
var _commonUtil = require('../common/util');
exports.commit = commit;
/**
* Asynchronously git commit at a given path with a message
*/
function commit(sh, repoPath, message, options, done) {
var alreadyEnded = false;
// Get a gulp stream based off the config
_gulp2['default'].src(repoPath)
// Format then commit
.pipe(_gulpGit2['default'].commit((0, _dedent2['default'])(message), options))
// Write progress to the screen
.on('data', function (data) {
// Ignore this for code coverage since it is only there
// to make our testing suite pretty
/* istanbul ignore if */
Iif (!options.quiet) {
if ((0, _commonUtil.isString)(data)) {
process.stdout.write(data);
}
}
})
// Handle commit success
.on('end', function () {
// TODO: Bug? Done is fired twice :(
if (!alreadyEnded) {
done();
alreadyEnded = true;
}
})
// Handle commit failure
.on('error', function (err) {
console.error(err);
done(err);
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3RyYXZpcy9idWlsZC9jb21taXRpemVuL2N6LWNsaS9zcmMvZ2l0L2NvbW1pdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7dUJBQWdCLFVBQVU7Ozs7b0JBQ1QsTUFBTTs7OztzQkFDSixRQUFROzs7OzBCQUNKLGdCQUFnQjs7UUFFOUIsTUFBTSxHQUFOLE1BQU07Ozs7O0FBS2YsU0FBUyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTs7QUFFcEQsTUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDOzs7QUFHekIsb0JBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQzs7O0dBR2YsSUFBSSxDQUFDLHFCQUFJLE1BQU0sQ0FBQyx5QkFBTyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQzs7O0dBRzFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsVUFBUyxJQUFJLEVBQUU7Ozs7O0FBS3hCLFFBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO0FBQ2pCLFVBQUcsMEJBQVMsSUFBSSxDQUFDLEVBQ2pCO0FBQ0MsZUFBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7S0FDRjtHQUNGLENBQUM7OztHQUdELEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBVzs7QUFFcEIsUUFBRyxDQUFDLFlBQVksRUFDaEI7QUFDRSxVQUFJLEVBQUUsQ0FBQztBQUNQLGtCQUFZLEdBQUMsSUFBSSxDQUFDO0tBQ25CO0dBQ0YsQ0FBQzs7O0dBR0QsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsRUFBRTtBQUMxQixXQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLFFBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUNYLENBQUMsQ0FBQztDQUVOIiwiZmlsZSI6Ii9ob21lL3RyYXZpcy9idWlsZC9jb21taXRpemVuL2N6LWNsaS9zcmMvZ2l0L2NvbW1pdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnaXQgZnJvbSAnZ3VscC1naXQnO1xuaW1wb3J0IGd1bHAgZnJvbSAnZ3VscCc7XG5pbXBvcnQgZGVkZW50IGZyb20gJ2RlZGVudCc7XG5pbXBvcnQge2lzU3RyaW5nfSBmcm9tICcuLi9jb21tb24vdXRpbCc7XG5cbmV4cG9ydCB7IGNvbW1pdCB9O1xuXG4vKipcbiAqIEFzeW5jaHJvbm91c2x5IGdpdCBjb21taXQgYXQgYSBnaXZlbiBwYXRoIHdpdGggYSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIGNvbW1pdChzaCwgcmVwb1BhdGgsIG1lc3NhZ2UsIG9wdGlvbnMsIGRvbmUpIHtcblxuICB2YXIgYWxyZWFkeUVuZGVkID0gZmFsc2U7XG4gIFxuICAvLyBHZXQgYSBndWxwIHN0cmVhbSBiYXNlZCBvZmYgdGhlIGNvbmZpZ1xuICBndWxwLnNyYyhyZXBvUGF0aClcblxuICAgIC8vIEZvcm1hdCB0aGVuIGNvbW1pdFxuICAgIC5waXBlKGdpdC5jb21taXQoZGVkZW50KG1lc3NhZ2UpLCBvcHRpb25zKSlcbiAgICBcbiAgICAvLyBXcml0ZSBwcm9ncmVzcyB0byB0aGUgc2NyZWVuXG4gICAgLm9uKCdkYXRhJyxmdW5jdGlvbihkYXRhKSB7XG4gICAgICBcbiAgICAgIC8vIElnbm9yZSB0aGlzIGZvciBjb2RlIGNvdmVyYWdlIHNpbmNlIGl0IGlzIG9ubHkgdGhlcmUgXG4gICAgICAvLyB0byBtYWtlIG91ciB0ZXN0aW5nIHN1aXRlIHByZXR0eVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuICAgICAgaWYoIW9wdGlvbnMucXVpZXQpIHtcbiAgICAgICAgaWYoaXNTdHJpbmcoZGF0YSkpXG4gICAgICAgIHtcbiAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRhdGEpOyBcbiAgICAgICAgfSBcbiAgICAgIH1cbiAgICB9KVxuICAgIFxuICAgIC8vIEhhbmRsZSBjb21taXQgc3VjY2Vzc1xuICAgIC5vbignZW5kJywgZnVuY3Rpb24oKSB7XG4gICAgICAvLyBUT0RPOiBCdWc/IERvbmUgaXMgZmlyZWQgdHdpY2UgOihcbiAgICAgIGlmKCFhbHJlYWR5RW5kZWQpXG4gICAgICB7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgICAgYWxyZWFkeUVuZGVkPXRydWU7IFxuICAgICAgfVxuICAgIH0pXG4gICAgXG4gICAgLy8gSGFuZGxlIGNvbW1pdCBmYWlsdXJlXG4gICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIGRvbmUoZXJyKTtcbiAgICB9KTtcblxufSJdfQ== |