mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-02 18:54:27 +02:00
#701 -- allow ability to check for leftover branches in goal compare
This commit is contained in:
parent
6e9ede0023
commit
6e8135a062
2 changed files with 36 additions and 0 deletions
|
@ -49,6 +49,18 @@ describe('Tree Compare', function() {
|
|||
);
|
||||
});
|
||||
|
||||
it('compares with considering leftover branches', function() {
|
||||
testMethod(
|
||||
{
|
||||
compareAllBranchesAndEnforceBranchCleanup: true,
|
||||
},
|
||||
'{"branches":{"master":{"target":"C2","id":"master","remoteTrackingBranchID":null},"foo":{"target":"C2","id":"foo","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"tags":{},"HEAD":{"target":"foo","id":"HEAD"}}',
|
||||
{
|
||||
'{"branches":{"master":{"target":"C2","id":"master","remoteTrackingBranchID":null},"foo":{"target":"C2","id":"foo","remoteTrackingBranchID":null},"randoBran":{"target":"C2","id":"randoBran","remoteTrackingBranchID":null}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"}},"tags":{},"HEAD":{"target":"foo","id":"HEAD"}}': false,
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
it('deep compares on origin tree', function() {
|
||||
testMethod(
|
||||
{}, // checked for all methods so this doesn't matter
|
||||
|
|
|
@ -54,6 +54,10 @@ TreeCompare.dispatchShallow = function(levelBlob, goalTreeString, treeToCompare)
|
|||
return TreeCompare.compareBranchWithinTrees(
|
||||
treeToCompare, goalTreeString, 'master'
|
||||
);
|
||||
case !!levelBlob.compareAllBranchesAndEnforceBranchCleanup:
|
||||
return TreeCompare.compareAllBranchesAndEnforceBranchCleanup(
|
||||
treeToCompare, goalTreeString
|
||||
);
|
||||
case !!levelBlob.compareOnlyBranches:
|
||||
return TreeCompare.compareAllBranchesWithinTrees(
|
||||
treeToCompare, goalTreeString
|
||||
|
@ -88,6 +92,26 @@ TreeCompare.compareAllBranchesWithinTreesAndHEAD = function(treeToCompare, goalT
|
|||
this.compareAllTagsWithinTrees(treeToCompare, goalTree);
|
||||
};
|
||||
|
||||
TreeCompare.compareAllBranchesAndEnforceBranchCleanup = function(treeToCompare, goalTree) {
|
||||
treeToCompare = this.convertTreeSafe(treeToCompare);
|
||||
goalTree = this.convertTreeSafe(goalTree);
|
||||
|
||||
// Unlike compareAllBranchesWithinTrees, here we consider both the branches
|
||||
// in the goalTree and the branches in the treeToCompare. This means that
|
||||
// we enfoce that you clean up any branches that you have locally that
|
||||
// the goal does not have. this is helpful when we want to verify that you
|
||||
// have deleted branch, for instance.
|
||||
var allBranches = Object.assign(
|
||||
{},
|
||||
treeToCompare.branches,
|
||||
goalTree.branches
|
||||
);
|
||||
return Object.keys(allBranches).every(function(branch) {
|
||||
return this.compareBranchWithinTrees(treeToCompare, goalTree, branch);
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
|
||||
TreeCompare.compareAllBranchesWithinTrees = function(treeToCompare, goalTree) {
|
||||
treeToCompare = this.convertTreeSafe(treeToCompare);
|
||||
goalTree = this.convertTreeSafe(goalTree);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue