Fix diff expansion is missing final line in a file (#16222)
* Fixed down offset. * Fixed wrong line count result.
This commit is contained in:
		
							parent
							
								
									71c5a8f7f8
								
							
						
					
					
						commit
						4cc63e9919
					
				
					 2 changed files with 13 additions and 4 deletions
				
			
		|  | @ -34,7 +34,7 @@ func (b *Blob) GetBlobContent() (string, error) { | |||
| 	return string(buf), nil | ||||
| } | ||||
| 
 | ||||
| // GetBlobLineCount gets line count of lob as raw text
 | ||||
| // GetBlobLineCount gets line count of the blob
 | ||||
| func (b *Blob) GetBlobLineCount() (int, error) { | ||||
| 	reader, err := b.DataAsync() | ||||
| 	if err != nil { | ||||
|  | @ -42,10 +42,14 @@ func (b *Blob) GetBlobLineCount() (int, error) { | |||
| 	} | ||||
| 	defer reader.Close() | ||||
| 	buf := make([]byte, 32*1024) | ||||
| 	count := 0 | ||||
| 	count := 1 | ||||
| 	lineSep := []byte{'\n'} | ||||
| 
 | ||||
| 	c, err := reader.Read(buf) | ||||
| 	if c == 0 && err == io.EOF { | ||||
| 		return 0, nil | ||||
| 	} | ||||
| 	for { | ||||
| 		c, err := reader.Read(buf) | ||||
| 		count += bytes.Count(buf[:c], lineSep) | ||||
| 		switch { | ||||
| 		case err == io.EOF: | ||||
|  | @ -53,6 +57,7 @@ func (b *Blob) GetBlobLineCount() (int, error) { | |||
| 		case err != nil: | ||||
| 			return count, err | ||||
| 		} | ||||
| 		c, err = reader.Read(buf) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -714,7 +714,11 @@ func ExcerptBlob(ctx *context.Context) { | |||
| 		lastLeft += chunkSize | ||||
| 		lastRight += chunkSize | ||||
| 	} else { | ||||
| 		section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, idxRight-lastRight-1) | ||||
| 		offset := -1 | ||||
| 		if direction == "down" { | ||||
| 			offset = 0 | ||||
| 		} | ||||
| 		section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, idxRight-lastRight+offset) | ||||
| 		leftHunkSize = 0 | ||||
| 		rightHunkSize = 0 | ||||
| 		idxLeft = lastLeft | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue