diff options
author | zeripath <art27@cantab.net> | 2020-06-21 16:08:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-21 16:08:25 +0100 |
commit | 82b843a5ab15b3563a7f31d5ef57ea12ec035685 (patch) | |
tree | 34817f40ac0f98c90f026cc8a5cbb6222a4763f7 /web_src/js/vendor | |
parent | dcbbf37082898dbca8bc3e5f1e3003c56955a675 (diff) | |
download | gitea-82b843a5ab15b3563a7f31d5ef57ea12ec035685.tar.gz gitea-82b843a5ab15b3563a7f31d5ef57ea12ec035685.zip |
Handle multiple merges in gitgraph.js (#11996) (#12000)
Backport #11996
There is a bug in web_src/js/vendor/gitgraph.js whereby it fails to
handle multiple merges in a single commit correctly. This PR adds
changes to make this work.
Fix #11981
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'web_src/js/vendor')
-rw-r--r-- | web_src/js/vendor/gitgraph.js | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/web_src/js/vendor/gitgraph.js b/web_src/js/vendor/gitgraph.js index 12d7a2eddf..0a780c1eb5 100644 --- a/web_src/js/vendor/gitgraph.js +++ b/web_src/js/vendor/gitgraph.js @@ -65,7 +65,7 @@ export default function gitGraph(canvas, rawGraphList, config) { for (i = 0; i < l; i++) { midStr = rawGraphList[i].replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, ''); - + midStr = midStr.replace(/(--)|(-\.)/g,'-') maxWidth = Math.max(midStr.replace(/(_|\s)/g, '').length, maxWidth); row = midStr.split(''); @@ -343,11 +343,6 @@ export default function gitGraph(canvas, rawGraphList, config) { return (val !== ' ' && val !== '_'); }).length; - // do some clean up - if (flows.length > condenseCurrentLength) { - flows.splice(condenseCurrentLength, flows.length - condenseCurrentLength); - } - colomnIndex = 0; // a little inline analysis and draw process @@ -362,7 +357,7 @@ export default function gitGraph(canvas, rawGraphList, config) { continue; } - // inline interset + // inline intersect if ((colomn === '_' || colomn === '/') && currentRow[colomnIndex - 1] === '|' && currentRow[colomnIndex - 2] === '_') { @@ -380,6 +375,7 @@ export default function gitGraph(canvas, rawGraphList, config) { color = flows[colomnIndex].color; switch (colomn) { + case '-': case '_': drawLineRight(x, y, color); @@ -416,6 +412,11 @@ export default function gitGraph(canvas, rawGraphList, config) { y -= config.unitSize; } + + // do some clean up + if (flows.length > condenseCurrentLength) { + flows.splice(condenseCurrentLength, flows.length - condenseCurrentLength); + } }; init(); |