mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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
This commit is contained in:
		
							
								
								
									
										15
									
								
								web_src/js/vendor/gitgraph.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								web_src/js/vendor/gitgraph.js
									
									
									
									
										vendored
									
									
								
							@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user