mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Display specific message if diff is not displayed because of too long line (#15611)
* 7184- message if line too long * Update options/locale/locale_en-US.ini Co-authored-by: silverwind <me@silverwind.io> * add flag on missing cases Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		@@ -1887,6 +1887,7 @@ diff.file_image_width = Width
 | 
				
			|||||||
diff.file_image_height = Height
 | 
					diff.file_image_height = Height
 | 
				
			||||||
diff.file_byte_size = Size
 | 
					diff.file_byte_size = Size
 | 
				
			||||||
diff.file_suppressed = File diff suppressed because it is too large
 | 
					diff.file_suppressed = File diff suppressed because it is too large
 | 
				
			||||||
 | 
					diff.file_suppressed_line_too_long = File diff suppressed because one or more lines are too long
 | 
				
			||||||
diff.too_many_files = Some files were not shown because too many files changed in this diff
 | 
					diff.too_many_files = Some files were not shown because too many files changed in this diff
 | 
				
			||||||
diff.comment.placeholder = Leave a comment
 | 
					diff.comment.placeholder = Leave a comment
 | 
				
			||||||
diff.comment.markdown_info = Styling with markdown is supported.
 | 
					diff.comment.markdown_info = Styling with markdown is supported.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -574,21 +574,22 @@ func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) tem
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// DiffFile represents a file diff.
 | 
					// DiffFile represents a file diff.
 | 
				
			||||||
type DiffFile struct {
 | 
					type DiffFile struct {
 | 
				
			||||||
	Name               string
 | 
						Name                    string
 | 
				
			||||||
	OldName            string
 | 
						OldName                 string
 | 
				
			||||||
	Index              int
 | 
						Index                   int
 | 
				
			||||||
	Addition, Deletion int
 | 
						Addition, Deletion      int
 | 
				
			||||||
	Type               DiffFileType
 | 
						Type                    DiffFileType
 | 
				
			||||||
	IsCreated          bool
 | 
						IsCreated               bool
 | 
				
			||||||
	IsDeleted          bool
 | 
						IsDeleted               bool
 | 
				
			||||||
	IsBin              bool
 | 
						IsBin                   bool
 | 
				
			||||||
	IsLFSFile          bool
 | 
						IsLFSFile               bool
 | 
				
			||||||
	IsRenamed          bool
 | 
						IsRenamed               bool
 | 
				
			||||||
	IsAmbiguous        bool
 | 
						IsAmbiguous             bool
 | 
				
			||||||
	IsSubmodule        bool
 | 
						IsSubmodule             bool
 | 
				
			||||||
	Sections           []*DiffSection
 | 
						Sections                []*DiffSection
 | 
				
			||||||
	IsIncomplete       bool
 | 
						IsIncomplete            bool
 | 
				
			||||||
	IsProtected        bool
 | 
						IsIncompleteLineTooLong bool
 | 
				
			||||||
 | 
						IsProtected             bool
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetType returns type of diff file.
 | 
					// GetType returns type of diff file.
 | 
				
			||||||
@@ -935,6 +936,7 @@ func parseHunks(curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio
 | 
				
			|||||||
	for {
 | 
						for {
 | 
				
			||||||
		for isFragment {
 | 
							for isFragment {
 | 
				
			||||||
			curFile.IsIncomplete = true
 | 
								curFile.IsIncomplete = true
 | 
				
			||||||
 | 
								curFile.IsIncompleteLineTooLong = true
 | 
				
			||||||
			_, isFragment, err = input.ReadLine()
 | 
								_, isFragment, err = input.ReadLine()
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				// Now by the definition of ReadLine this cannot be io.EOF
 | 
									// Now by the definition of ReadLine this cannot be io.EOF
 | 
				
			||||||
@@ -1062,6 +1064,7 @@ func parseHunks(curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio
 | 
				
			|||||||
		line := string(lineBytes)
 | 
							line := string(lineBytes)
 | 
				
			||||||
		if isFragment {
 | 
							if isFragment {
 | 
				
			||||||
			curFile.IsIncomplete = true
 | 
								curFile.IsIncomplete = true
 | 
				
			||||||
 | 
								curFile.IsIncompleteLineTooLong = true
 | 
				
			||||||
			for isFragment {
 | 
								for isFragment {
 | 
				
			||||||
				lineBytes, isFragment, err = input.ReadLine()
 | 
									lineBytes, isFragment, err = input.ReadLine()
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
@@ -1073,6 +1076,7 @@ func parseHunks(curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		if len(line) > maxLineCharacters {
 | 
							if len(line) > maxLineCharacters {
 | 
				
			||||||
			curFile.IsIncomplete = true
 | 
								curFile.IsIncomplete = true
 | 
				
			||||||
 | 
								curFile.IsIncompleteLineTooLong = true
 | 
				
			||||||
			line = line[:maxLineCharacters]
 | 
								line = line[:maxLineCharacters]
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		curSection.Lines[len(curSection.Lines)-1].Content = line
 | 
							curSection.Lines[len(curSection.Lines)-1].Content = line
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,13 @@
 | 
				
			|||||||
						</div>
 | 
											</div>
 | 
				
			||||||
						<span class="file mono">{{$file.Name}}</span>
 | 
											<span class="file mono">{{$file.Name}}</span>
 | 
				
			||||||
						<div class="diff-file-header-actions df ac">
 | 
											<div class="diff-file-header-actions df ac">
 | 
				
			||||||
							<div class="text grey">{{$.i18n.Tr "repo.diff.file_suppressed"}}</div>
 | 
												<div class="text grey">
 | 
				
			||||||
 | 
													{{if $file.IsIncompleteLineTooLong}}
 | 
				
			||||||
 | 
														{{$.i18n.Tr "repo.diff.file_suppressed_line_too_long"}}
 | 
				
			||||||
 | 
													{{else}}
 | 
				
			||||||
 | 
														{{$.i18n.Tr "repo.diff.file_suppressed"}}
 | 
				
			||||||
 | 
													{{end}}
 | 
				
			||||||
 | 
												</div>
 | 
				
			||||||
							{{if $file.IsProtected}}
 | 
												{{if $file.IsProtected}}
 | 
				
			||||||
								<span class="ui basic label">{{$.i18n.Tr "repo.diff.protected"}}</span>
 | 
													<span class="ui basic label">{{$.i18n.Tr "repo.diff.protected"}}</span>
 | 
				
			||||||
							{{end}}
 | 
												{{end}}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user