mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-27 08:28:50 +02:00
Resolves #1048
This commit is contained in:
parent
5c37007647
commit
3a9f1bc7da
2 changed files with 13 additions and 1 deletions
|
@ -74,6 +74,8 @@ TreeCompare.dispatchShallow = function(levelBlob, goalTreeString, treeToCompare)
|
||||||
return TreeCompare.compareBranchesWithinTreesHashAgnostic(
|
return TreeCompare.compareBranchesWithinTreesHashAgnostic(
|
||||||
treeToCompare, goalTreeString, ['main']
|
treeToCompare, goalTreeString, ['main']
|
||||||
) && TreeCompare.evalAsserts(treeToCompare, levelBlob.goalAsserts);
|
) && TreeCompare.evalAsserts(treeToCompare, levelBlob.goalAsserts);
|
||||||
|
case !!levelBlob.onlyEvaluateAsserts:
|
||||||
|
return TreeCompare.evalAsserts(treeToCompare, levelBlob.goalAsserts);
|
||||||
default:
|
default:
|
||||||
return TreeCompare.compareAllBranchesWithinTreesAndHEAD(
|
return TreeCompare.compareAllBranchesWithinTreesAndHEAD(
|
||||||
treeToCompare, goalTreeString
|
treeToCompare, goalTreeString
|
||||||
|
@ -233,11 +235,14 @@ TreeCompare.evalAssertsOnBranch = function(tree, branchName, asserts) {
|
||||||
var branch = tree.branches[branchName];
|
var branch = tree.branches[branchName];
|
||||||
var queue = [branch.target];
|
var queue = [branch.target];
|
||||||
var data = {};
|
var data = {};
|
||||||
|
var numCommits = 0;
|
||||||
while (queue.length) {
|
while (queue.length) {
|
||||||
var commitRef = queue.pop();
|
var commitRef = queue.pop();
|
||||||
data[this.getBaseRef(commitRef)] = this.getNumHashes(commitRef);
|
data[this.getBaseRef(commitRef)] = this.getNumHashes(commitRef);
|
||||||
queue = queue.concat(tree.commits[commitRef].parents);
|
queue = queue.concat(tree.commits[commitRef].parents);
|
||||||
|
numCommits++;
|
||||||
}
|
}
|
||||||
|
data['__num_commits_upstream'] = numCommits;
|
||||||
|
|
||||||
var result = true;
|
var result = true;
|
||||||
asserts.forEach(function(assert) {
|
asserts.forEach(function(assert) {
|
||||||
|
@ -245,7 +250,6 @@ TreeCompare.evalAssertsOnBranch = function(tree, branchName, asserts) {
|
||||||
result = result && assert(data);
|
result = result && assert(data);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn('error during assert', err);
|
console.warn('error during assert', err);
|
||||||
console.log(err);
|
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,6 +2,14 @@ exports.level = {
|
||||||
"goalTreeString": "{\"branches\":{\"main\":{\"target\":\"C2\",\"id\":\"main\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C4\",\"id\":\"side\",\"remoteTrackingBranchID\":null},\"bugFix\":{\"target\":\"C7\",\"id\":\"bugFix\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"tags\":{\"v0\":{\"target\":\"C0\",\"id\":\"v0\",\"type\":\"tag\"},\"v1\":{\"target\":\"C3\",\"id\":\"v1\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}",
|
"goalTreeString": "{\"branches\":{\"main\":{\"target\":\"C2\",\"id\":\"main\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C4\",\"id\":\"side\",\"remoteTrackingBranchID\":null},\"bugFix\":{\"target\":\"C7\",\"id\":\"bugFix\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"tags\":{\"v0\":{\"target\":\"C0\",\"id\":\"v0\",\"type\":\"tag\"},\"v1\":{\"target\":\"C3\",\"id\":\"v1\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}",
|
||||||
"solutionCommand": "git commit ",
|
"solutionCommand": "git commit ",
|
||||||
"startTree": "{\"branches\":{\"main\":{\"target\":\"C2\",\"id\":\"main\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C4\",\"id\":\"side\",\"remoteTrackingBranchID\":null},\"bugFix\":{\"target\":\"C6\",\"id\":\"bugFix\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"tags\":{\"v0\":{\"target\":\"C0\",\"id\":\"v0\",\"type\":\"tag\"},\"v1\":{\"target\":\"C3\",\"id\":\"v1\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}",
|
"startTree": "{\"branches\":{\"main\":{\"target\":\"C2\",\"id\":\"main\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C4\",\"id\":\"side\",\"remoteTrackingBranchID\":null},\"bugFix\":{\"target\":\"C6\",\"id\":\"bugFix\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"tags\":{\"v0\":{\"target\":\"C0\",\"id\":\"v0\",\"type\":\"tag\"},\"v1\":{\"target\":\"C3\",\"id\":\"v1\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}",
|
||||||
|
"onlyEvaluateAsserts": true,
|
||||||
|
"goalAsserts": {
|
||||||
|
"bugfix": [
|
||||||
|
function (data) {
|
||||||
|
return data.__num_commits_upstream > 5;
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"en_US": "Git Describe",
|
"en_US": "Git Describe",
|
||||||
"fr_FR": "Git describe",
|
"fr_FR": "Git describe",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue