mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	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>
This commit is contained in:
		| @@ -25,9 +25,7 @@ | |||||||
| 								</code> | 								</code> | ||||||
| 								<strong> {{.Branch}}</strong> | 								<strong> {{.Branch}}</strong> | ||||||
| 								<span>{{RenderCommitMessage .Subject $.RepoLink $.Repository.ComposeMetas}}</span> by | 								<span>{{RenderCommitMessage .Subject $.RepoLink $.Repository.ComposeMetas}}</span> by | ||||||
| 		  <span class="author"> | 								<span class="author">{{.Author}}</span> | ||||||
| 		    {{.Author}} |  | ||||||
| 		  </span> |  | ||||||
| 								<span class="time">{{.Date}}</span> | 								<span class="time">{{.Date}}</span> | ||||||
| 							{{ end }} | 							{{ end }} | ||||||
| 						</li> | 						</li> | ||||||
|   | |||||||
							
								
								
									
										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++) { |     for (i = 0; i < l; i++) { | ||||||
|       midStr = rawGraphList[i].replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, ''); |       midStr = rawGraphList[i].replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, ''); | ||||||
|  |       midStr = midStr.replace(/(--)|(-\.)/g,'-') | ||||||
|       maxWidth = Math.max(midStr.replace(/(_|\s)/g, '').length, maxWidth); |       maxWidth = Math.max(midStr.replace(/(_|\s)/g, '').length, maxWidth); | ||||||
|  |  | ||||||
|       row = midStr.split(''); |       row = midStr.split(''); | ||||||
| @@ -343,11 +343,6 @@ export default function gitGraph(canvas, rawGraphList, config) { | |||||||
|         return (val !== ' ' && val !== '_'); |         return (val !== ' ' && val !== '_'); | ||||||
|       }).length; |       }).length; | ||||||
|  |  | ||||||
|       // do some clean up |  | ||||||
|       if (flows.length > condenseCurrentLength) { |  | ||||||
|         flows.splice(condenseCurrentLength, flows.length - condenseCurrentLength); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       colomnIndex = 0; |       colomnIndex = 0; | ||||||
|  |  | ||||||
|       // a little inline analysis and draw process |       // a little inline analysis and draw process | ||||||
| @@ -362,7 +357,7 @@ export default function gitGraph(canvas, rawGraphList, config) { | |||||||
|           continue; |           continue; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // inline interset |         // inline intersect | ||||||
|         if ((colomn === '_' || colomn === '/') |         if ((colomn === '_' || colomn === '/') | ||||||
|           && currentRow[colomnIndex - 1] === '|' |           && currentRow[colomnIndex - 1] === '|' | ||||||
|           && currentRow[colomnIndex - 2] === '_') { |           && currentRow[colomnIndex - 2] === '_') { | ||||||
| @@ -380,6 +375,7 @@ export default function gitGraph(canvas, rawGraphList, config) { | |||||||
|         color = flows[colomnIndex].color; |         color = flows[colomnIndex].color; | ||||||
|  |  | ||||||
|         switch (colomn) { |         switch (colomn) { | ||||||
|  |           case '-': | ||||||
|           case '_': |           case '_': | ||||||
|             drawLineRight(x, y, color); |             drawLineRight(x, y, color); | ||||||
|  |  | ||||||
| @@ -416,6 +412,11 @@ export default function gitGraph(canvas, rawGraphList, config) { | |||||||
|  |  | ||||||
|       y -= config.unitSize; |       y -= config.unitSize; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     // do some clean up | ||||||
|  |     if (flows.length > condenseCurrentLength) { | ||||||
|  |       flows.splice(condenseCurrentLength, flows.length - condenseCurrentLength); | ||||||
|  |     } | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   init(); |   init(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user