[FeatureRequest] git push --force beta Resolves #185

This commit is contained in:
Peter Cottle 2014-11-29 17:34:34 -08:00
parent cb776e1b4e
commit 7fc33541cc
3 changed files with 22 additions and 8 deletions

View file

@ -674,6 +674,9 @@ var commandConfig = {
push: {
regex: /^git +push($|\s)/,
options: [
'--force'
],
execute: function(engine, command) {
if (!engine.hasOrigin()) {
throw new GitError({
@ -685,6 +688,7 @@ var commandConfig = {
var destination;
var source;
var sourceObj;
var commandOptions = command.getOptionsMap();
// git push is pretty complex in terms of
// the arguments it wants as well... get ready!
@ -737,7 +741,8 @@ var commandConfig = {
// NOTE -- very important! destination and source here
// are always, always strings. very important :D
destination: destination,
source: source
source: source,
force: !!commandOptions['--force']
});
}
},

View file

@ -1062,13 +1062,15 @@ GitEngine.prototype.push = function(options) {
var sourceLocation = this.resolveID(options.source || 'HEAD');
// first check if this is even allowed by checking the sync between
this.checkUpstreamOfSource(
this,
this.origin,
branchOnRemote,
sourceLocation,
intl.str('git-error-origin-push-no-ff')
);
if (!options.force) {
this.checkUpstreamOfSource(
this,
this.origin,
branchOnRemote,
sourceLocation,
intl.str('git-error-origin-push-no-ff')
);
}
var commitsToMake = this.getTargetGraphDifference(
this.origin,