diff --git a/package.json b/package.json index fe51b83a9..6e7ebd3ac 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "dagre": "^0.7.4", "dagre-d3": "0.4.10", "he": "^0.5.0", + "lodash": "^4.6.1", "minimist": "^1.1.0", "mkdirp": "^0.5.0", "moment": "^2.9.0", diff --git a/src/diagrams/gitGraph/gitGraphAst.js b/src/diagrams/gitGraph/gitGraphAst.js index cf008c56d..297c3f666 100644 --- a/src/diagrams/gitGraph/gitGraphAst.js +++ b/src/diagrams/gitGraph/gitGraphAst.js @@ -1,6 +1,7 @@ var crypto = require("crypto"); var Logger = require('../../logger'); var log = new Logger.Log(); +var _ = require("lodash"); //var log = new Logger.Log(1); @@ -42,9 +43,11 @@ function isReachableFrom(currentCommit, otherCommit) { if (currentSeq > otherSeq) return isfastforwardable(otherCommit, currentCommit); return false; } + exports.setDirection = function(dir) { direction = dir; } + exports.commit = function(msg) { var commit = { id: getId(), message: msg, @@ -101,6 +104,14 @@ exports.reset = function(ref) { branches[curBranch] = commit.id; } +exports.prettyPrint = function() { + var commitArr = Object.keys(commits).map(function (key) { + return commits[key]; + }); + var sortedCommits = _.orderBy(commitArr, ['seq'], ['desc']); + console.log(sortedCommits); +} + exports.clear = function () { commits = {}; head = null; diff --git a/src/diagrams/gitGraph/gitGraphParser.spec.js b/src/diagrams/gitGraph/gitGraphParser.spec.js index b4082ab51..2876a3952 100644 --- a/src/diagrams/gitGraph/gitGraphParser.spec.js +++ b/src/diagrams/gitGraph/gitGraphParser.spec.js @@ -176,5 +176,7 @@ describe('when parsing a gitGraph',function() { expect(parser.yy.getCurrentBranch()).toBe("newbranch"); expect(parser.yy.getBranches()["newbranch"]).toEqual(parser.yy.getBranches()["master"]); expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()["master"]); + + parser.yy.prettyPrint(); }); });