diff options
author | zeripath <art27@cantab.net> | 2020-06-20 20:29:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-20 22:29:44 +0300 |
commit | a07cc0df76056ce2be1d8a89f38416cf511dd03b (patch) | |
tree | e2cf2c20d5134d301d2f37dd9bf9b3d135529d00 /web_src/js | |
parent | d31a9c544ff8c81229e7a290006a6e85d9004930 (diff) | |
download | gitea-a07cc0df76056ce2be1d8a89f38416cf511dd03b.tar.gz gitea-a07cc0df76056ce2be1d8a89f38416cf511dd03b.zip |
Handle multiple merges in gitgraph.js (#11996)
* Handle multiple merges in gitgraph.js
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>
* Update web_src/js/vendor/gitgraph.js
Diffstat (limited to 'web_src/js')
-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(); |