mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-25 23:48:34 +02:00
awesome pull animation now
This commit is contained in:
parent
b090cef461
commit
d80ae31adc
7 changed files with 189 additions and 15 deletions
128
build/bundle.js
128
build/bundle.js
|
@ -7851,7 +7851,8 @@ GitEngine.prototype.getTargetGraphDifference = function(
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.fetch = function() {
|
GitEngine.prototype.fetch = function(options) {
|
||||||
|
options = options || {};
|
||||||
var localBranch = this.refs['o/master'];
|
var localBranch = this.refs['o/master'];
|
||||||
var remoteBranch = this.origin.refs['master'];
|
var remoteBranch = this.origin.refs['master'];
|
||||||
|
|
||||||
|
@ -7918,7 +7919,14 @@ GitEngine.prototype.fetch = function() {
|
||||||
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
|
if (!options.dontResolvePromise) {
|
||||||
this.animationQueue.thenFinish(chain, deferred);
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
chain: chain,
|
||||||
|
deferred: deferred,
|
||||||
|
lastCommitID: commitsToMake.pop().id
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.pullStarter = function() {
|
GitEngine.prototype.pullStarter = function() {
|
||||||
|
@ -7928,15 +7936,58 @@ GitEngine.prototype.pullStarter = function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.acceptNoGeneralArgs();
|
this.acceptNoGeneralArgs();
|
||||||
|
// eventually args go here
|
||||||
|
this.pull();
|
||||||
|
};
|
||||||
|
|
||||||
|
GitEngine.prototype.pull = function() {
|
||||||
|
var localBranch = this.refs['master'];
|
||||||
|
var remoteBranch = this.refs['o/master'];
|
||||||
|
|
||||||
// no matter what fetch
|
// no matter what fetch
|
||||||
this.fetch();
|
var pendingFetch = this.fetch({
|
||||||
|
dontResolvePromise: true
|
||||||
|
});
|
||||||
|
var chain = pendingFetch.chain;
|
||||||
|
var deferred = pendingFetch.deferred;
|
||||||
|
|
||||||
// then either rebase or merge
|
// then either rebase or merge
|
||||||
if (this.commandOptions['--rebase']) {
|
if (this.commandOptions['--rebase']) {
|
||||||
this.rebaseFinisher('o/master', 'master');
|
this.rebaseFinisher('o/master', 'master');
|
||||||
} else {
|
} else {
|
||||||
this.merge('o/master');
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
// highlight last commit on o/master
|
||||||
|
var commit = this.refs[pendingFetch.lastCommitID];
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
commit,
|
||||||
|
localBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
this.getCommitFromRef('master'),
|
||||||
|
remoteBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
var newCommit = this.merge('o/master');
|
||||||
|
return AnimationFactory.playCommitBirthPromiseAnimation(
|
||||||
|
newCommit,
|
||||||
|
this.gitVisuals
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.cloneStarter = function() {
|
GitEngine.prototype.cloneStarter = function() {
|
||||||
|
@ -9200,6 +9251,7 @@ exports.Ref = Ref;
|
||||||
|
|
||||||
require.define("/src/js/visuals/animation/animationFactory.js",function(require,module,exports,__dirname,__filename,process,global){var _ = require('underscore');
|
require.define("/src/js/visuals/animation/animationFactory.js",function(require,module,exports,__dirname,__filename,process,global){var _ = require('underscore');
|
||||||
var Backbone = require('backbone');
|
var Backbone = require('backbone');
|
||||||
|
var Q = require('q');
|
||||||
|
|
||||||
var Animation = require('./index').Animation;
|
var Animation = require('./index').Animation;
|
||||||
var PromiseAnimation = require('./index').PromiseAnimation;
|
var PromiseAnimation = require('./index').PromiseAnimation;
|
||||||
|
@ -9333,6 +9385,12 @@ AnimationFactory.playHighlightPromiseAnimation = function(commit, destObj) {
|
||||||
return animation.getPromise();
|
return animation.getPromise();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
AnimationFactory.getDelayedPromise = function(amount) {
|
||||||
|
var deferred = Q.defer();
|
||||||
|
setTimeout(deferred.resolve, amount || 1000);
|
||||||
|
return deferred.promise;
|
||||||
|
};
|
||||||
|
|
||||||
AnimationFactory.delay = function(animationQueue, time) {
|
AnimationFactory.delay = function(animationQueue, time) {
|
||||||
time = time || GRAPHICS.defaultAnimationTime;
|
time = time || GRAPHICS.defaultAnimationTime;
|
||||||
animationQueue.add(new Animation({
|
animationQueue.add(new Animation({
|
||||||
|
@ -23776,7 +23834,8 @@ GitEngine.prototype.getTargetGraphDifference = function(
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.fetch = function() {
|
GitEngine.prototype.fetch = function(options) {
|
||||||
|
options = options || {};
|
||||||
var localBranch = this.refs['o/master'];
|
var localBranch = this.refs['o/master'];
|
||||||
var remoteBranch = this.origin.refs['master'];
|
var remoteBranch = this.origin.refs['master'];
|
||||||
|
|
||||||
|
@ -23843,7 +23902,14 @@ GitEngine.prototype.fetch = function() {
|
||||||
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
|
if (!options.dontResolvePromise) {
|
||||||
this.animationQueue.thenFinish(chain, deferred);
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
chain: chain,
|
||||||
|
deferred: deferred,
|
||||||
|
lastCommitID: commitsToMake.pop().id
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.pullStarter = function() {
|
GitEngine.prototype.pullStarter = function() {
|
||||||
|
@ -23853,15 +23919,58 @@ GitEngine.prototype.pullStarter = function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.acceptNoGeneralArgs();
|
this.acceptNoGeneralArgs();
|
||||||
|
// eventually args go here
|
||||||
|
this.pull();
|
||||||
|
};
|
||||||
|
|
||||||
|
GitEngine.prototype.pull = function() {
|
||||||
|
var localBranch = this.refs['master'];
|
||||||
|
var remoteBranch = this.refs['o/master'];
|
||||||
|
|
||||||
// no matter what fetch
|
// no matter what fetch
|
||||||
this.fetch();
|
var pendingFetch = this.fetch({
|
||||||
|
dontResolvePromise: true
|
||||||
|
});
|
||||||
|
var chain = pendingFetch.chain;
|
||||||
|
var deferred = pendingFetch.deferred;
|
||||||
|
|
||||||
// then either rebase or merge
|
// then either rebase or merge
|
||||||
if (this.commandOptions['--rebase']) {
|
if (this.commandOptions['--rebase']) {
|
||||||
this.rebaseFinisher('o/master', 'master');
|
this.rebaseFinisher('o/master', 'master');
|
||||||
} else {
|
} else {
|
||||||
this.merge('o/master');
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
// highlight last commit on o/master
|
||||||
|
var commit = this.refs[pendingFetch.lastCommitID];
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
commit,
|
||||||
|
localBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
this.getCommitFromRef('master'),
|
||||||
|
remoteBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
var newCommit = this.merge('o/master');
|
||||||
|
return AnimationFactory.playCommitBirthPromiseAnimation(
|
||||||
|
newCommit,
|
||||||
|
this.gitVisuals
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.cloneStarter = function() {
|
GitEngine.prototype.cloneStarter = function() {
|
||||||
|
@ -31342,6 +31451,7 @@ require("/src/js/views/rebaseView.js");
|
||||||
|
|
||||||
require.define("/src/js/visuals/animation/animationFactory.js",function(require,module,exports,__dirname,__filename,process,global){var _ = require('underscore');
|
require.define("/src/js/visuals/animation/animationFactory.js",function(require,module,exports,__dirname,__filename,process,global){var _ = require('underscore');
|
||||||
var Backbone = require('backbone');
|
var Backbone = require('backbone');
|
||||||
|
var Q = require('q');
|
||||||
|
|
||||||
var Animation = require('./index').Animation;
|
var Animation = require('./index').Animation;
|
||||||
var PromiseAnimation = require('./index').PromiseAnimation;
|
var PromiseAnimation = require('./index').PromiseAnimation;
|
||||||
|
@ -31475,6 +31585,12 @@ AnimationFactory.playHighlightPromiseAnimation = function(commit, destObj) {
|
||||||
return animation.getPromise();
|
return animation.getPromise();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
AnimationFactory.getDelayedPromise = function(amount) {
|
||||||
|
var deferred = Q.defer();
|
||||||
|
setTimeout(deferred.resolve, amount || 1000);
|
||||||
|
return deferred.promise;
|
||||||
|
};
|
||||||
|
|
||||||
AnimationFactory.delay = function(animationQueue, time) {
|
AnimationFactory.delay = function(animationQueue, time) {
|
||||||
time = time || GRAPHICS.defaultAnimationTime;
|
time = time || GRAPHICS.defaultAnimationTime;
|
||||||
animationQueue.add(new Animation({
|
animationQueue.add(new Animation({
|
||||||
|
|
1
build/bundle.min.4369b0c9.js
Normal file
1
build/bundle.min.4369b0c9.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
build/bundle.min.js
vendored
2
build/bundle.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -426,7 +426,7 @@
|
||||||
For a much easier time perusing the source, see the individual files at:
|
For a much easier time perusing the source, see the individual files at:
|
||||||
https://github.com/pcottle/learnGitBranching
|
https://github.com/pcottle/learnGitBranching
|
||||||
-->
|
-->
|
||||||
<script src="build/bundle.min.774546c0.js"></script>
|
<script src="build/bundle.min.4369b0c9.js"></script>
|
||||||
|
|
||||||
<!-- The advantage of github pages: super-easy, simple, slick static hostic.
|
<!-- The advantage of github pages: super-easy, simple, slick static hostic.
|
||||||
The downside? No raw logs to parse for analytics, so I have to include
|
The downside? No raw logs to parse for analytics, so I have to include
|
||||||
|
|
|
@ -809,7 +809,8 @@ GitEngine.prototype.getTargetGraphDifference = function(
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.fetch = function() {
|
GitEngine.prototype.fetch = function(options) {
|
||||||
|
options = options || {};
|
||||||
var localBranch = this.refs['o/master'];
|
var localBranch = this.refs['o/master'];
|
||||||
var remoteBranch = this.origin.refs['master'];
|
var remoteBranch = this.origin.refs['master'];
|
||||||
|
|
||||||
|
@ -876,7 +877,14 @@ GitEngine.prototype.fetch = function() {
|
||||||
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
return AnimationFactory.playRefreshAnimation(this.gitVisuals);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
|
if (!options.dontResolvePromise) {
|
||||||
this.animationQueue.thenFinish(chain, deferred);
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
chain: chain,
|
||||||
|
deferred: deferred,
|
||||||
|
lastCommitID: commitsToMake.pop().id
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.pullStarter = function() {
|
GitEngine.prototype.pullStarter = function() {
|
||||||
|
@ -886,15 +894,58 @@ GitEngine.prototype.pullStarter = function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.acceptNoGeneralArgs();
|
this.acceptNoGeneralArgs();
|
||||||
|
// eventually args go here
|
||||||
|
this.pull();
|
||||||
|
};
|
||||||
|
|
||||||
|
GitEngine.prototype.pull = function() {
|
||||||
|
var localBranch = this.refs['master'];
|
||||||
|
var remoteBranch = this.refs['o/master'];
|
||||||
|
|
||||||
// no matter what fetch
|
// no matter what fetch
|
||||||
this.fetch();
|
var pendingFetch = this.fetch({
|
||||||
|
dontResolvePromise: true
|
||||||
|
});
|
||||||
|
var chain = pendingFetch.chain;
|
||||||
|
var deferred = pendingFetch.deferred;
|
||||||
|
|
||||||
// then either rebase or merge
|
// then either rebase or merge
|
||||||
if (this.commandOptions['--rebase']) {
|
if (this.commandOptions['--rebase']) {
|
||||||
this.rebaseFinisher('o/master', 'master');
|
this.rebaseFinisher('o/master', 'master');
|
||||||
} else {
|
} else {
|
||||||
this.merge('o/master');
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
// highlight last commit on o/master
|
||||||
|
var commit = this.refs[pendingFetch.lastCommitID];
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
commit,
|
||||||
|
localBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
return AnimationFactory.playHighlightPromiseAnimation(
|
||||||
|
this.getCommitFromRef('master'),
|
||||||
|
remoteBranch
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
chain = chain.then(function() {
|
||||||
|
return AnimationFactory.getDelayedPromise(700);
|
||||||
|
});
|
||||||
|
chain = chain.then(_.bind(function() {
|
||||||
|
var newCommit = this.merge('o/master');
|
||||||
|
return AnimationFactory.playCommitBirthPromiseAnimation(
|
||||||
|
newCommit,
|
||||||
|
this.gitVisuals
|
||||||
|
);
|
||||||
|
}, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.animationQueue.thenFinish(chain, deferred);
|
||||||
};
|
};
|
||||||
|
|
||||||
GitEngine.prototype.cloneStarter = function() {
|
GitEngine.prototype.cloneStarter = function() {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var Backbone = require('backbone');
|
var Backbone = require('backbone');
|
||||||
|
var Q = require('q');
|
||||||
|
|
||||||
var Animation = require('./index').Animation;
|
var Animation = require('./index').Animation;
|
||||||
var PromiseAnimation = require('./index').PromiseAnimation;
|
var PromiseAnimation = require('./index').PromiseAnimation;
|
||||||
|
@ -133,6 +134,12 @@ AnimationFactory.playHighlightPromiseAnimation = function(commit, destObj) {
|
||||||
return animation.getPromise();
|
return animation.getPromise();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
AnimationFactory.getDelayedPromise = function(amount) {
|
||||||
|
var deferred = Q.defer();
|
||||||
|
setTimeout(deferred.resolve, amount || 1000);
|
||||||
|
return deferred.promise;
|
||||||
|
};
|
||||||
|
|
||||||
AnimationFactory.delay = function(animationQueue, time) {
|
AnimationFactory.delay = function(animationQueue, time) {
|
||||||
time = time || GRAPHICS.defaultAnimationTime;
|
time = time || GRAPHICS.defaultAnimationTime;
|
||||||
animationQueue.add(new Animation({
|
animationQueue.add(new Animation({
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue