mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-26 16:08:34 +02:00
awesome fixed push for everythinggs
This commit is contained in:
parent
56e800220c
commit
f543fa4485
3 changed files with 23 additions and 13 deletions
|
@ -577,24 +577,27 @@ var commandConfig = {
|
|||
if (isColonRefspec(firstArg)) {
|
||||
var refspecParts = firstArg.split(':');
|
||||
source = refspecParts[0];
|
||||
destination = refspecParts[1];
|
||||
// TODO -- assert good branch name
|
||||
destination = validateAndAssertBranchName(engine, refspecParts[1]);
|
||||
} else {
|
||||
// we are using this org as both destination and source
|
||||
// we are using this arg as destination -- source is one before head
|
||||
destination = firstArg;
|
||||
source = firstArg;
|
||||
source = engine.getOneBeforeCommit('HEAD').get('id');
|
||||
}
|
||||
destination = validateAndAssertBranchName(engine, destination);
|
||||
} else {
|
||||
source = engine.getOneBeforeCommit('HEAD');
|
||||
// since they have not specified a source or destination, then
|
||||
// we source from the branch we are on (or HEAD) and push to
|
||||
// the branch we are on
|
||||
source = engine.getOneBeforeCommit('HEAD').get('id');
|
||||
destination = source;
|
||||
assertBranchIsRemoteTracking(source);
|
||||
assertBranchIsRemoteTracking(engine, source);
|
||||
}
|
||||
if (source) {
|
||||
assertIsRef(engine, source);
|
||||
}
|
||||
|
||||
engine.push({
|
||||
// NOTE -- very important! destination and source here
|
||||
// are always, always strings. very important :D
|
||||
destination: destination,
|
||||
source: source
|
||||
});
|
||||
|
|
|
@ -885,19 +885,16 @@ GitEngine.prototype.push = function(options) {
|
|||
return;
|
||||
}
|
||||
|
||||
var remoteBranch = this.refs[options.source];
|
||||
|
||||
var sourceBranch = this.refs[options.source];
|
||||
if (!this.origin.refs[options.destination]) {
|
||||
this.makeBranchOnOriginAndTrack(
|
||||
options.destination,
|
||||
'HEAD'
|
||||
);
|
||||
}
|
||||
var branchOnRemote = this.origin.refs[options.source];
|
||||
|
||||
var branchOnRemote = this.origin.refs[options.destination];
|
||||
var sourceLocation = this.getOneBeforeCommit(options.source || 'HEAD');
|
||||
|
||||
debugger;
|
||||
// first check if this is even allowed by checking the sync between
|
||||
this.checkUpstreamOfSource(
|
||||
this,
|
||||
|
@ -971,7 +968,7 @@ GitEngine.prototype.push = function(options) {
|
|||
// HAX HAX update master and remote tracking for master
|
||||
chain = chain.then(_.bind(function() {
|
||||
var localCommit = this.getCommitFromRef(sourceLocation);
|
||||
this.setTargetLocation(remoteBranch, localCommit);
|
||||
this.setTargetLocation(this.refs[ORIGIN_PREFIX + options.destination], localCommit);
|
||||
return this.animationFactory.playRefreshAnimation(this.gitVisuals);
|
||||
}, this));
|
||||
|
||||
|
@ -2541,6 +2538,9 @@ var Branch = Ref.extend({
|
|||
},
|
||||
|
||||
getIsRemote: function() {
|
||||
if (typeof this.get('id') !== 'string') {
|
||||
debugger;
|
||||
}
|
||||
return this.get('id').slice(0, 2) === ORIGIN_PREFIX;
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue