mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-26 16:08:34 +02:00
sLICKK
This commit is contained in:
parent
005e6047cc
commit
bc20fc163b
3 changed files with 15 additions and 3 deletions
|
@ -48,11 +48,15 @@ var expectLevelAsync = function(headless, levelBlob) {
|
||||||
}, 'trees should be equal', TIME);
|
}, 'trees should be equal', TIME);
|
||||||
};
|
};
|
||||||
|
|
||||||
var expectTreeAsync = function(command, expectedJSON) {
|
var expectTreeAsync = function(command, expectedJSON, startJSON) {
|
||||||
var headless = new HeadlessGit();
|
var headless = new HeadlessGit();
|
||||||
var start = Date.now();
|
var start = Date.now();
|
||||||
var haveReported = false;
|
var haveReported = false;
|
||||||
|
|
||||||
|
if (startJSON) {
|
||||||
|
headless.gitEngine.loadTreeFromString(startJSON);
|
||||||
|
}
|
||||||
|
|
||||||
runs(function() {
|
runs(function() {
|
||||||
headless.sendCommand(command);
|
headless.sendCommand(command);
|
||||||
});
|
});
|
||||||
|
|
|
@ -110,7 +110,7 @@ describe('Git Remotes', function() {
|
||||||
it('pushes to another remote', function() {
|
it('pushes to another remote', function() {
|
||||||
expectTreeAsync(
|
expectTreeAsync(
|
||||||
'git branch side; git clone;git commit; git push origin HEAD:side',
|
'git branch side; git clone;git commit; git push origin HEAD:side',
|
||||||
'{"branches":{"master":{"target":"C2","id":"master","remoteTrackingBranchID":"o/master"},"side":{"target":"C1","id":"side","remoteTrackingBranchID":"o/side"},"o/master":{"target":"C1","id":"o/master","remoteTrackingBranchID":null},"o/side":{"target":"C2","id":"o/side","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"target":"C1","id":"master","remoteTrackingBranchID":null},"side":{"target":"master","id":"side","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"HEAD":{"target":"master","id":"HEAD"}}}'
|
'{"branches":{"master":{"target":"C2","id":"master","remoteTrackingBranchID":"o/master"},"side":{"target":"C1","id":"side","remoteTrackingBranchID":"o/side"},"o/master":{"target":"C1","id":"o/master","remoteTrackingBranchID":null},"o/side":{"target":"C2","id":"o/side","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"target":"C1","id":"master","remoteTrackingBranchID":null},"side":{"target":"C2","id":"side","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"HEAD":{"target":"master","id":"HEAD"}}}'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -275,5 +275,13 @@ describe('Git Remotes', function() {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('correclty checks upstream when pushing to a remote where commits already exist but branch is not updated DAYAM dawg', function() {
|
||||||
|
expectTreeAsync(
|
||||||
|
'git push origin master^:master',
|
||||||
|
'{"branches":{"master":{"target":"C9","id":"master","remoteTrackingBranchID":"o/master"},"foo":{"target":"C8","id":"foo","remoteTrackingBranchID":"o/foo"},"o/master":{"target":"C5","id":"o/master","remoteTrackingBranchID":null},"o/foo":{"target":"C5","id":"o/foo","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C3":{"parents":["C2"],"id":"C3"},"C4":{"parents":["C1"],"id":"C4"},"C5":{"parents":["C2","C4"],"id":"C5"},"C6":{"parents":["C4"],"id":"C6"},"C7":{"parents":["C6"],"id":"C7"},"C8":{"parents":["C5","C7"],"id":"C8"},"C9":{"parents":["C5"],"id":"C9"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"target":"C5","id":"master","remoteTrackingBranchID":null},"foo":{"target":"C5","id":"foo","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C4":{"parents":["C1"],"id":"C4"},"C5":{"parents":["C2","C4"],"id":"C5"}},"HEAD":{"target":"master","id":"HEAD"}}}',
|
||||||
|
'{"branches":{"master":{"target":"C9","id":"master","remoteTrackingBranchID":"o/master"},"foo":{"target":"C8","id":"foo","remoteTrackingBranchID":"o/foo"},"o/master":{"target":"C1","id":"o/master","remoteTrackingBranchID":null},"o/foo":{"target":"C5","id":"o/foo","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C3":{"parents":["C2"],"id":"C3"},"C4":{"parents":["C1"],"id":"C4"},"C5":{"parents":["C2","C4"],"id":"C5"},"C6":{"parents":["C4"],"id":"C6"},"C7":{"parents":["C6"],"id":"C7"},"C8":{"parents":["C5","C7"],"id":"C8"},"C9":{"parents":["C5"],"id":"C9"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"target":"C1","id":"master","remoteTrackingBranchID":null},"foo":{"target":"C5","id":"foo","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C4":{"parents":["C1"],"id":"C4"},"C5":{"parents":["C2","C4"],"id":"C5"}},"HEAD":{"target":"master","id":"HEAD"}}}'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -853,7 +853,7 @@ GitEngine.prototype.getTargetGraphDifference = function(
|
||||||
var sourceTree = source.exportTree();
|
var sourceTree = source.exportTree();
|
||||||
var sourceStartCommitJSON = sourceTree.commits[sourceStartCommit.get('id')];
|
var sourceStartCommitJSON = sourceTree.commits[sourceStartCommit.get('id')];
|
||||||
|
|
||||||
if (target.refs[sourceStartCommitJSON.id]) {
|
if (targetSet[sourceStartCommitJSON.id]) {
|
||||||
// either we throw since theres no work to be done, or we return an empty array
|
// either we throw since theres no work to be done, or we return an empty array
|
||||||
if (options.dontThrowOnNoFetch) {
|
if (options.dontThrowOnNoFetch) {
|
||||||
return [];
|
return [];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue