Calculate filename hash only once (#19654)
* Calculate hash only once. * remove unused Sha1 template helper function, use ctx.Data["FileNameHash"] * fix unit tests
This commit is contained in:
		
					parent
					
						
							
								9efa47131f
							
						
					
				
			
			
				commit
				
					
						a9ca4b4100
					
				
			
		
					 8 changed files with 26 additions and 29 deletions
				
			
		|  | @ -146,7 +146,6 @@ func NewFuncMap() []template.FuncMap { | ||||||
| 		"EllipsisString":                 base.EllipsisString, | 		"EllipsisString":                 base.EllipsisString, | ||||||
| 		"DiffTypeToStr":                  DiffTypeToStr, | 		"DiffTypeToStr":                  DiffTypeToStr, | ||||||
| 		"DiffLineTypeToStr":              DiffLineTypeToStr, | 		"DiffLineTypeToStr":              DiffLineTypeToStr, | ||||||
| 		"Sha1":                           Sha1, |  | ||||||
| 		"ShortSha":                       base.ShortSha, | 		"ShortSha":                       base.ShortSha, | ||||||
| 		"MD5":                            base.EncodeMD5, | 		"MD5":                            base.EncodeMD5, | ||||||
| 		"ActionContent2Commits":          ActionContent2Commits, | 		"ActionContent2Commits":          ActionContent2Commits, | ||||||
|  | @ -649,11 +648,6 @@ func DotEscape(raw string) string { | ||||||
| 	return strings.ReplaceAll(raw, ".", "\u200d.\u200d") | 	return strings.ReplaceAll(raw, ".", "\u200d.\u200d") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Sha1 returns sha1 sum of string |  | ||||||
| func Sha1(str string) string { |  | ||||||
| 	return base.EncodeSha1(str) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // RenderCommitMessage renders commit message with XSS-safe and special links. | // RenderCommitMessage renders commit message with XSS-safe and special links. | ||||||
| func RenderCommitMessage(ctx context.Context, msg, urlPrefix string, metas map[string]string) template.HTML { | func RenderCommitMessage(ctx context.Context, msg, urlPrefix string, metas map[string]string) template.HTML { | ||||||
| 	return RenderCommitMessageLink(ctx, msg, urlPrefix, "", metas) | 	return RenderCommitMessageLink(ctx, msg, urlPrefix, "", metas) | ||||||
|  |  | ||||||
|  | @ -874,7 +874,7 @@ func ExcerptBlob(ctx *context.Context) { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	ctx.Data["section"] = section | 	ctx.Data["section"] = section | ||||||
| 	ctx.Data["fileName"] = filePath | 	ctx.Data["FileNameHash"] = base.EncodeSha1(filePath) | ||||||
| 	ctx.Data["AfterCommitID"] = commitID | 	ctx.Data["AfterCommitID"] = commitID | ||||||
| 	ctx.Data["Anchor"] = anchor | 	ctx.Data["Anchor"] = anchor | ||||||
| 	ctx.HTML(http.StatusOK, tplBlobExcerpt) | 	ctx.HTML(http.StatusOK, tplBlobExcerpt) | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ import ( | ||||||
| 	pull_model "code.gitea.io/gitea/models/pull" | 	pull_model "code.gitea.io/gitea/models/pull" | ||||||
| 	user_model "code.gitea.io/gitea/models/user" | 	user_model "code.gitea.io/gitea/models/user" | ||||||
| 	"code.gitea.io/gitea/modules/analyze" | 	"code.gitea.io/gitea/modules/analyze" | ||||||
|  | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	"code.gitea.io/gitea/modules/charset" | 	"code.gitea.io/gitea/modules/charset" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/highlight" | 	"code.gitea.io/gitea/modules/highlight" | ||||||
|  | @ -604,6 +605,7 @@ func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) Dif | ||||||
| // DiffFile represents a file diff. | // DiffFile represents a file diff. | ||||||
| type DiffFile struct { | type DiffFile struct { | ||||||
| 	Name                      string | 	Name                      string | ||||||
|  | 	NameHash                  string | ||||||
| 	OldName                   string | 	OldName                   string | ||||||
| 	Index                     int | 	Index                     int | ||||||
| 	Addition, Deletion        int | 	Addition, Deletion        int | ||||||
|  | @ -952,7 +954,6 @@ parsingLoop: | ||||||
| 				break curFileLoop | 				break curFileLoop | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// TODO: There are numerous issues with this: | 	// TODO: There are numerous issues with this: | ||||||
|  | @ -964,6 +965,8 @@ parsingLoop: | ||||||
| 	diffLineTypeBuffers[DiffLineAdd] = new(bytes.Buffer) | 	diffLineTypeBuffers[DiffLineAdd] = new(bytes.Buffer) | ||||||
| 	diffLineTypeBuffers[DiffLineDel] = new(bytes.Buffer) | 	diffLineTypeBuffers[DiffLineDel] = new(bytes.Buffer) | ||||||
| 	for _, f := range diff.Files { | 	for _, f := range diff.Files { | ||||||
|  | 		f.NameHash = base.EncodeSha1(f.Name) | ||||||
|  | 
 | ||||||
| 		for _, buffer := range diffLineTypeBuffers { | 		for _, buffer := range diffLineTypeBuffers { | ||||||
| 			buffer.Reset() | 			buffer.Reset() | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | @ -37,6 +37,7 @@ func TestGetDiffPreview(t *testing.T) { | ||||||
| 			{ | 			{ | ||||||
| 				Name:        "README.md", | 				Name:        "README.md", | ||||||
| 				OldName:     "README.md", | 				OldName:     "README.md", | ||||||
|  | 				NameHash:    "8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d", | ||||||
| 				Index:       1, | 				Index:       1, | ||||||
| 				Addition:    2, | 				Addition:    2, | ||||||
| 				Deletion:    1, | 				Deletion:    1, | ||||||
|  | @ -123,7 +124,7 @@ func TestGetDiffPreview(t *testing.T) { | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		bs, err := json.Marshal(diff) | 		bs, err := json.Marshal(diff) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.EqualValues(t, expectedBs, bs) | 		assert.EqualValues(t, string(expectedBs), string(bs)) | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	t.Run("empty branch, same results", func(t *testing.T) { | 	t.Run("empty branch, same results", func(t *testing.T) { | ||||||
|  |  | ||||||
|  | @ -22,13 +22,13 @@ | ||||||
| 			<td colspan="5" class="lines-code lines-code-old ">{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}}<code {{if $inlineDiff.EscapeStatus.Escaped}}class="code-inner has-escaped" title="{{$.i18n.Tr "repo.line_unicode"}}"{{else}}class="code-inner"{{end}}>{{$inlineDiff.Content}}</code></td> | 			<td colspan="5" class="lines-code lines-code-old ">{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}}<code {{if $inlineDiff.EscapeStatus.Escaped}}class="code-inner has-escaped" title="{{$.i18n.Tr "repo.line_unicode"}}"{{else}}class="code-inner"{{end}}>{{$inlineDiff.Content}}</code></td> | ||||||
| 		{{else}} | 		{{else}} | ||||||
| 			{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}} | 			{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}} | ||||||
| 			<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $.fileName}}L{{$line.LeftIdx}}{{end}}"></span></td> | 			<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$.FileNameHash}}L{{$line.LeftIdx}}{{end}}"></span></td> | ||||||
| 			<td class="blob-excerpt lines-escape lines-escape-old">{{if and $line.LeftIdx $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | 			<td class="blob-excerpt lines-escape lines-escape-old">{{if and $line.LeftIdx $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | ||||||
| 			<td class="blob-excerpt lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td> | 			<td class="blob-excerpt lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td> | ||||||
| 			<td class="blob-excerpt lines-code lines-code-old halfwidth">{{/* | 			<td class="blob-excerpt lines-code lines-code-old halfwidth">{{/* | ||||||
| 				*/}}<code {{if and $line.LeftIdx $inlineDiff.EscapeStatus.Escaped}}class="code-inner has-escaped" title="{{$.i18n.Tr "repo.line_unicode"}}"{{else}}class="code-inner"{{end}}>{{if $line.LeftIdx}}{{$inlineDiff.Content}}{{end}}</code>{{/* | 				*/}}<code {{if and $line.LeftIdx $inlineDiff.EscapeStatus.Escaped}}class="code-inner has-escaped" title="{{$.i18n.Tr "repo.line_unicode"}}"{{else}}class="code-inner"{{end}}>{{if $line.LeftIdx}}{{$inlineDiff.Content}}{{end}}</code>{{/* | ||||||
| 			*/}}</td> | 			*/}}</td> | ||||||
| 			<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{Sha1 $.fileName}}R{{$line.RightIdx}}{{end}}"></span></td> | 			<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$.FileNameHash}}R{{$line.RightIdx}}{{end}}"></span></td> | ||||||
| 			<td class="blob-excerpt lines-escape lines-escape-new">{{if and $line.RightIdx $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | 			<td class="blob-excerpt lines-escape lines-escape-new">{{if and $line.RightIdx $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | ||||||
| 			<td class="blob-excerpt lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td> | 			<td class="blob-excerpt lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td> | ||||||
| 			<td class="blob-excerpt lines-code lines-code-new halfwidth">{{/* | 			<td class="blob-excerpt lines-code lines-code-new halfwidth">{{/* | ||||||
|  | @ -59,8 +59,8 @@ | ||||||
| 				{{end}} | 				{{end}} | ||||||
| 			</td> | 			</td> | ||||||
| 		{{else}} | 		{{else}} | ||||||
| 			<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $.fileName}}L{{$line.LeftIdx}}{{end}}"></span></td> | 			<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$.FileNameHash}}L{{$line.LeftIdx}}{{end}}"></span></td> | ||||||
| 			<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{Sha1 $.fileName}}R{{$line.RightIdx}}{{end}}"></span></td> | 			<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$.FileNameHash}}R{{$line.RightIdx}}{{end}}"></span></td> | ||||||
| 		{{end}} | 		{{end}} | ||||||
| 		{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}} | 		{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}} | ||||||
| 		<td class="blob-excerpt lines-escape">{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | 		<td class="blob-excerpt lines-escape">{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | ||||||
|  |  | ||||||
|  | @ -45,7 +45,7 @@ | ||||||
| 					</div> | 					</div> | ||||||
| 					<!-- todo finish all file status, now modify, add, delete and rename --> | 					<!-- todo finish all file status, now modify, add, delete and rename --> | ||||||
| 					<span class="status {{DiffTypeToStr .GetType}} tooltip" data-content="{{DiffTypeToStr .GetType}}" data-position="right center"> </span> | 					<span class="status {{DiffTypeToStr .GetType}} tooltip" data-content="{{DiffTypeToStr .GetType}}" data-position="right center"> </span> | ||||||
| 					<a class="file mono" href="#diff-{{Sha1 .Name}}">{{.Name}}</a> | 					<a class="file mono" href="#diff-{{.NameHash}}">{{.Name}}</a> | ||||||
| 				</li> | 				</li> | ||||||
| 			{{end}} | 			{{end}} | ||||||
| 			{{if .Diff.IsIncomplete}} | 			{{if .Diff.IsIncomplete}} | ||||||
|  | @ -63,8 +63,7 @@ | ||||||
| 				{{$isImage := or (call $.IsBlobAnImage $blobBase) (call $.IsBlobAnImage $blobHead)}} | 				{{$isImage := or (call $.IsBlobAnImage $blobBase) (call $.IsBlobAnImage $blobHead)}} | ||||||
| 				{{$isCsv := (call $.IsCsvFile $file)}} | 				{{$isCsv := (call $.IsCsvFile $file)}} | ||||||
| 				{{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}} | 				{{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}} | ||||||
| 				{{$nameHash := Sha1 $file.Name}} | 				<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}} mt-3" id="diff-{{$file.NameHash}}" data-old-filename="{{$file.OldName}}" data-new-filename="{{$file.Name}}" {{if $file.ShouldBeHidden}}data-folded="true"{{end}}> | ||||||
| 				<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}} mt-3" id="diff-{{$nameHash}}" data-old-filename="{{$file.OldName}}" data-new-filename="{{$file.Name}}" {{if $file.ShouldBeHidden}}data-folded="true"{{end}}> |  | ||||||
| 					<h4 class="diff-file-header sticky-2nd-row ui top attached normal header df ac sb"> | 					<h4 class="diff-file-header sticky-2nd-row ui top attached normal header df ac sb"> | ||||||
| 						<div class="df ac"> | 						<div class="df ac"> | ||||||
| 							<a role="button" class="fold-file muted mr-2"> | 							<a role="button" class="fold-file muted mr-2"> | ||||||
|  | @ -83,7 +82,7 @@ | ||||||
| 									{{template "repo/diff/stats" dict "file" . "root" $}} | 									{{template "repo/diff/stats" dict "file" . "root" $}} | ||||||
| 								{{end}} | 								{{end}} | ||||||
| 							</div> | 							</div> | ||||||
| 							<span class="file mono"><a class="muted" href="#diff-{{$nameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span> | 							<span class="file mono"><a class="muted" href="#diff-{{$file.NameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span> | ||||||
| 							{{if $file.IsGenerated}} | 							{{if $file.IsGenerated}} | ||||||
| 								<span class="ui label ml-3">{{$.i18n.Tr "repo.diff.generated"}}</span> | 								<span class="ui label ml-3">{{$.i18n.Tr "repo.diff.generated"}}</span> | ||||||
| 							{{end}} | 							{{end}} | ||||||
|  |  | ||||||
|  | @ -7,17 +7,17 @@ | ||||||
| 				{{if eq .GetType 4}} | 				{{if eq .GetType 4}} | ||||||
| 					<td class="lines-num lines-num-old"> | 					<td class="lines-num lines-num-old"> | ||||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold-down"}} | 								{{svg "octicon-fold-down"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold-up"}} | 								{{svg "octicon-fold-up"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 						{{if eq $line.GetExpandDirection 2}} | 						{{if eq $line.GetExpandDirection 2}} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold"}} | 								{{svg "octicon-fold"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
|  | @ -28,7 +28,7 @@ | ||||||
| 					{{$match := index $section.Lines $line.Match}} | 					{{$match := index $section.Lines $line.Match}} | ||||||
| 					{{- $leftDiff := ""}}{{if $line.LeftIdx}}{{$leftDiff = $section.GetComputedInlineDiffFor $line}}{{end}} | 					{{- $leftDiff := ""}}{{if $line.LeftIdx}}{{$leftDiff = $section.GetComputedInlineDiffFor $line}}{{end}} | ||||||
| 					{{- $rightDiff := ""}}{{if $match.RightIdx}}{{$rightDiff = $section.GetComputedInlineDiffFor $match}}{{end}} | 					{{- $rightDiff := ""}}{{if $match.RightIdx}}{{$rightDiff = $section.GetComputedInlineDiffFor $match}}{{end}} | ||||||
| 					<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}"></span></td> | 					<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{$file.NameHash}}L{{$line.LeftIdx}}"></span></td> | ||||||
| 					<td class="lines-escape del-code lines-escape-old">{{if $line.LeftIdx}}{{if $leftDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | 					<td class="lines-escape del-code lines-escape-old">{{if $line.LeftIdx}}{{if $leftDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | ||||||
| 					<td class="lines-type-marker lines-type-marker-old del-code"><span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td> | 					<td class="lines-type-marker lines-type-marker-old del-code"><span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td> | ||||||
| 					<td class="lines-code lines-code-old halfwidth del-code">{{/* | 					<td class="lines-code lines-code-old halfwidth del-code">{{/* | ||||||
|  | @ -43,7 +43,7 @@ | ||||||
| 						*/}}<code class="code-inner"></code>{{/* | 						*/}}<code class="code-inner"></code>{{/* | ||||||
| 						*/}}{{end}}{{/* | 						*/}}{{end}}{{/* | ||||||
| 					*/}}</td> | 					*/}}</td> | ||||||
| 					<td class="lines-num lines-num-new add-code" data-line-num="{{if $match.RightIdx}}{{$match.RightIdx}}{{end}}"><span rel="{{if $match.RightIdx}}diff-{{Sha1 $file.Name}}R{{$match.RightIdx}}{{end}}"></span></td> | 					<td class="lines-num lines-num-new add-code" data-line-num="{{if $match.RightIdx}}{{$match.RightIdx}}{{end}}"><span rel="{{if $match.RightIdx}}diff-{{$file.NameHash}}R{{$match.RightIdx}}{{end}}"></span></td> | ||||||
| 					<td class="lines-escape add-code lines-escape-new">{{if $match.RightIdx}}{{if $rightDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | 					<td class="lines-escape add-code lines-escape-new">{{if $match.RightIdx}}{{if $rightDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | ||||||
| 					<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td> | 					<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td> | ||||||
| 					<td class="lines-code lines-code-new halfwidth add-code">{{/* | 					<td class="lines-code lines-code-new halfwidth add-code">{{/* | ||||||
|  | @ -60,7 +60,7 @@ | ||||||
| 					*/}}</td> | 					*/}}</td> | ||||||
| 				{{else}} | 				{{else}} | ||||||
| 					{{$inlineDiff := $section.GetComputedInlineDiffFor $line}} | 					{{$inlineDiff := $section.GetComputedInlineDiffFor $line}} | ||||||
| 					<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}"></span></td> | 					<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$file.NameHash}}L{{$line.LeftIdx}}{{end}}"></span></td> | ||||||
| 					<td class="lines-escape lines-escape-old">{{if $line.LeftIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | 					<td class="lines-escape lines-escape-old">{{if $line.LeftIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | ||||||
| 					<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | 					<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | ||||||
| 					<td class="lines-code lines-code-old halfwidth">{{/* | 					<td class="lines-code lines-code-old halfwidth">{{/* | ||||||
|  | @ -75,7 +75,7 @@ | ||||||
| 						*/}}<code class="code-inner"></code>{{/* | 						*/}}<code class="code-inner"></code>{{/* | ||||||
| 						*/}}{{end}}{{/* | 						*/}}{{end}}{{/* | ||||||
| 					*/}}</td> | 					*/}}</td> | ||||||
| 					<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}"></span></td> | 					<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$file.NameHash}}R{{$line.RightIdx}}{{end}}"></span></td> | ||||||
| 					<td class="lines-escape lines-escape-new">{{if $line.RightIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | 					<td class="lines-escape lines-escape-new">{{if $line.RightIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}{{end}}</td> | ||||||
| 					<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | 					<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | ||||||
| 					<td class="lines-code lines-code-new halfwidth">{{/* | 					<td class="lines-code lines-code-new halfwidth">{{/* | ||||||
|  |  | ||||||
|  | @ -6,24 +6,24 @@ | ||||||
| 				{{if eq .GetType 4}} | 				{{if eq .GetType 4}} | ||||||
| 					<td colspan="2" class="lines-num"> | 					<td colspan="2" class="lines-num"> | ||||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold-down"}} | 								{{svg "octicon-fold-down"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold-up"}} | 								{{svg "octicon-fold-up"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 						{{if eq $line.GetExpandDirection 2}} | 						{{if eq $line.GetExpandDirection 2}} | ||||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}"> | ||||||
| 								{{svg "octicon-fold"}} | 								{{svg "octicon-fold"}} | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 					</td> | 					</td> | ||||||
| 				{{else}} | 				{{else}} | ||||||
| 					<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}"></span></td> | 					<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$file.NameHash}}L{{$line.LeftIdx}}{{end}}"></span></td> | ||||||
| 					<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}"></span></td> | 					<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$file.NameHash}}R{{$line.RightIdx}}{{end}}"></span></td> | ||||||
| 				{{end}} | 				{{end}} | ||||||
| 				{{$inlineDiff := $section.GetComputedInlineDiffFor $line -}} | 				{{$inlineDiff := $section.GetComputedInlineDiffFor $line -}} | ||||||
| 				<td class="lines-escape">{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | 				<td class="lines-escape">{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 KN4CK3R
				KN4CK3R