UNPKG

npub

Version:

publishing tool for your node projects hosted on github

66 lines (62 loc) 2.24 kB
// Generated by CoffeeScript 1.9.1 var debug, exec; exec = require('child_process').exec; debug = require('debug')("git"); module.exports = function(dir) { var options; debug("initialized for: " + dir); options = { cwd: dir }; return { dir: dir, isClean: function(callback) { debug("isClean"); return exec('git status --untracked-files=all --porcelain', options, function(error, stdout, stderror) { return callback(stdout.length === 0, stdout != null ? stdout.trim() : void 0); }); }, getSha: function(callback) { debug('getSha'); return exec('git rev-parse HEAD', options, function(error, stdout, stderror) { return callback(error, stdout != null ? stdout.trim() : void 0); }); }, commit: function(message, callback) { debug("commit - " + message); return exec("git add CHANGELOG.md package.json && git commit -m '" + message + "'", options, function(error, stdout, stderror) { return callback(!error); }); }, diffSinceLastTag: function(callback) { debug("diffSinceLastTag"); return exec("git log --oneline $(git describe --tags --abbrev=0)..HEAD", options, function(error, stdout, stderr) { return callback(error, stdout); }); }, tag: function(tag, callback) { debug("tag - " + tag); return exec("git tag -a " + tag + " -m " + tag, options, function(error, stdout, stderror) { return callback(error); }); }, remoteBranch: function(callback) { debug("remoteBranch"); return exec("git rev-parse --abbrev-ref --symbolic-full-name @{u}", options, function(error, stdout, stderr) { return callback(error, stdout); }); }, push: function(remote, branch, callback) { debug("push - " + remote + " " + branch); return exec("git push " + remote + " " + branch, options, function(error, stdout, stderror) { return callback(error); }); }, pushTag: function(remote, tag, callback) { debug("pushTag - " + remote + " " + tag); return exec("git push " + remote + " tag " + tag, options, function(error, stdout, stderror) { return callback(error); }); } }; };