From cd1ff64f14b3a3c27531b489ee36c3b7de63d4c5 Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Mon, 27 Apr 2020 19:48:35 -0700 Subject: [PATCH 1/3] Remove jquery sortable ui --- package.json | 1 - yarn.lock | 5 ----- 2 files changed, 6 deletions(-) diff --git a/package.json b/package.json index f6c96cb1..3a28ac4d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "flux": "^3.1.3", "jquery": "^3.4.0", "jquery-ui": "^1.12.1", - "jquery-ui-sortable-npm": "^1.0.0", "markdown": "^0.5.0", "prop-types": "^15.7.2", "q": "^1.5.1", diff --git a/yarn.lock b/yarn.lock index 85de6f11..4d1979a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2563,11 +2563,6 @@ jasmine@^3.1.0: glob "^7.1.4" jasmine-core "~3.5.0" -jquery-ui-sortable-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jquery-ui-sortable-npm/-/jquery-ui-sortable-npm-1.0.0.tgz#5fa27c36b76d1fbd45de9e24a0c940c19ba1f6ce" - integrity sha1-X6J8NrdtH71F3p4koMlAwZuh9s4= - jquery-ui@^1.12.1: version "1.12.1" resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.12.1.tgz#bcb4045c8dd0539c134bc1488cdd3e768a7a9e51" From 6e8135a0624d3b1ed41beb1de301fd5980286962 Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Tue, 28 Apr 2020 13:16:33 -0700 Subject: [PATCH 2/3] #701 -- allow ability to check for leftover branches in goal compare --- __tests__/treeCompare.spec.js | 12 ++++++++++++ src/js/graph/treeCompare.js | 24 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/__tests__/treeCompare.spec.js b/__tests__/treeCompare.spec.js index 052d8df2..ffa27466 100644 --- a/__tests__/treeCompare.spec.js +++ b/__tests__/treeCompare.spec.js @@ -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 diff --git a/src/js/graph/treeCompare.js b/src/js/graph/treeCompare.js index 8652f172..f01cf457 100644 --- a/src/js/graph/treeCompare.js +++ b/src/js/graph/treeCompare.js @@ -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); From 8a51749e711a0cfc99c04cd14e6547bdb7ebc2fe Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Wed, 29 Apr 2020 17:59:41 -0700 Subject: [PATCH 3/3] Resolves #701 -- enforce branch cleanup on one level --- src/levels/remote/sourceNothing.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/levels/remote/sourceNothing.js b/src/levels/remote/sourceNothing.js index 2f4b2862..5967a9f2 100644 --- a/src/levels/remote/sourceNothing.js +++ b/src/levels/remote/sourceNothing.js @@ -1,4 +1,5 @@ exports.level = { + "compareAllBranchesAndEnforceBranchCleanup": true, "disabledMap": { "git branch": true, "git checkout": true