Skip to content

Commit a9ca4b4

Browse files
authored
Calculate filename hash only once (#19654)
* Calculate hash only once. * remove unused Sha1 template helper function, use ctx.Data["FileNameHash"] * fix unit tests
1 parent 9efa471 commit a9ca4b4

File tree

8 files changed

+26
-29
lines changed

8 files changed

+26
-29
lines changed

modules/templates/helper.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ func NewFuncMap() []template.FuncMap {
146146
"EllipsisString": base.EllipsisString,
147147
"DiffTypeToStr": DiffTypeToStr,
148148
"DiffLineTypeToStr": DiffLineTypeToStr,
149-
"Sha1": Sha1,
150149
"ShortSha": base.ShortSha,
151150
"MD5": base.EncodeMD5,
152151
"ActionContent2Commits": ActionContent2Commits,
@@ -649,11 +648,6 @@ func DotEscape(raw string) string {
649648
return strings.ReplaceAll(raw, ".", "\u200d.\u200d")
650649
}
651650

652-
// Sha1 returns sha1 sum of string
653-
func Sha1(str string) string {
654-
return base.EncodeSha1(str)
655-
}
656-
657651
// RenderCommitMessage renders commit message with XSS-safe and special links.
658652
func RenderCommitMessage(ctx context.Context, msg, urlPrefix string, metas map[string]string) template.HTML {
659653
return RenderCommitMessageLink(ctx, msg, urlPrefix, "", metas)

routers/web/repo/compare.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ func ExcerptBlob(ctx *context.Context) {
874874
}
875875
}
876876
ctx.Data["section"] = section
877-
ctx.Data["fileName"] = filePath
877+
ctx.Data["FileNameHash"] = base.EncodeSha1(filePath)
878878
ctx.Data["AfterCommitID"] = commitID
879879
ctx.Data["Anchor"] = anchor
880880
ctx.HTML(http.StatusOK, tplBlobExcerpt)

services/gitdiff/gitdiff.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
pull_model "code.gitea.io/gitea/models/pull"
2626
user_model "code.gitea.io/gitea/models/user"
2727
"code.gitea.io/gitea/modules/analyze"
28+
"code.gitea.io/gitea/modules/base"
2829
"code.gitea.io/gitea/modules/charset"
2930
"code.gitea.io/gitea/modules/git"
3031
"code.gitea.io/gitea/modules/highlight"
@@ -604,6 +605,7 @@ func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) Dif
604605
// DiffFile represents a file diff.
605606
type DiffFile struct {
606607
Name string
608+
NameHash string
607609
OldName string
608610
Index int
609611
Addition, Deletion int
@@ -952,7 +954,6 @@ parsingLoop:
952954
break curFileLoop
953955
}
954956
}
955-
956957
}
957958

958959
// TODO: There are numerous issues with this:
@@ -964,6 +965,8 @@ parsingLoop:
964965
diffLineTypeBuffers[DiffLineAdd] = new(bytes.Buffer)
965966
diffLineTypeBuffers[DiffLineDel] = new(bytes.Buffer)
966967
for _, f := range diff.Files {
968+
f.NameHash = base.EncodeSha1(f.Name)
969+
967970
for _, buffer := range diffLineTypeBuffers {
968971
buffer.Reset()
969972
}

services/repository/files/diff_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ func TestGetDiffPreview(t *testing.T) {
3737
{
3838
Name: "README.md",
3939
OldName: "README.md",
40+
NameHash: "8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d",
4041
Index: 1,
4142
Addition: 2,
4243
Deletion: 1,
@@ -123,7 +124,7 @@ func TestGetDiffPreview(t *testing.T) {
123124
assert.NoError(t, err)
124125
bs, err := json.Marshal(diff)
125126
assert.NoError(t, err)
126-
assert.EqualValues(t, expectedBs, bs)
127+
assert.EqualValues(t, string(expectedBs), string(bs))
127128
})
128129

129130
t.Run("empty branch, same results", func(t *testing.T) {

templates/repo/diff/blob_excerpt.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
<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>
2323
{{else}}
2424
{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}}
25-
<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>
25+
<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>
2626
<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>
2727
<td class="blob-excerpt lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td>
2828
<td class="blob-excerpt lines-code lines-code-old halfwidth">{{/*
2929
*/}}<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>{{/*
3030
*/}}</td>
31-
<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>
31+
<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>
3232
<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>
3333
<td class="blob-excerpt lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker=""></span>{{end}}</td>
3434
<td class="blob-excerpt lines-code lines-code-new halfwidth">{{/*
@@ -59,8 +59,8 @@
5959
{{end}}
6060
</td>
6161
{{else}}
62-
<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>
63-
<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>
62+
<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>
63+
<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>
6464
{{end}}
6565
{{$inlineDiff := $.section.GetComputedInlineDiffFor $line}}
6666
<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>

templates/repo/diff/box.tmpl

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
</div>
4646
<!-- todo finish all file status, now modify, add, delete and rename -->
4747
<span class="status {{DiffTypeToStr .GetType}} tooltip" data-content="{{DiffTypeToStr .GetType}}" data-position="right center">&nbsp;</span>
48-
<a class="file mono" href="#diff-{{Sha1 .Name}}">{{.Name}}</a>
48+
<a class="file mono" href="#diff-{{.NameHash}}">{{.Name}}</a>
4949
</li>
5050
{{end}}
5151
{{if .Diff.IsIncomplete}}
@@ -63,8 +63,7 @@
6363
{{$isImage := or (call $.IsBlobAnImage $blobBase) (call $.IsBlobAnImage $blobHead)}}
6464
{{$isCsv := (call $.IsCsvFile $file)}}
6565
{{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}}
66-
{{$nameHash := Sha1 $file.Name}}
67-
<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}}>
66+
<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}}>
6867
<h4 class="diff-file-header sticky-2nd-row ui top attached normal header df ac sb">
6968
<div class="df ac">
7069
<a role="button" class="fold-file muted mr-2">
@@ -83,7 +82,7 @@
8382
{{template "repo/diff/stats" dict "file" . "root" $}}
8483
{{end}}
8584
</div>
86-
<span class="file mono"><a class="muted" href="#diff-{{$nameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} &rarr; {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span>
85+
<span class="file mono"><a class="muted" href="#diff-{{$file.NameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} &rarr; {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span>
8786
{{if $file.IsGenerated}}
8887
<span class="ui label ml-3">{{$.i18n.Tr "repo.diff.generated"}}</span>
8988
{{end}}

templates/repo/diff/section_split.tmpl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
{{if eq .GetType 4}}
88
<td class="lines-num lines-num-old">
99
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }}
10-
<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}}">
10+
<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}}">
1111
{{svg "octicon-fold-down"}}
1212
</a>
1313
{{end}}
1414
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }}
15-
<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}}">
15+
<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}}">
1616
{{svg "octicon-fold-up"}}
1717
</a>
1818
{{end}}
1919
{{if eq $line.GetExpandDirection 2}}
20-
<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}}">
20+
<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}}">
2121
{{svg "octicon-fold"}}
2222
</a>
2323
{{end}}
@@ -28,7 +28,7 @@
2828
{{$match := index $section.Lines $line.Match}}
2929
{{- $leftDiff := ""}}{{if $line.LeftIdx}}{{$leftDiff = $section.GetComputedInlineDiffFor $line}}{{end}}
3030
{{- $rightDiff := ""}}{{if $match.RightIdx}}{{$rightDiff = $section.GetComputedInlineDiffFor $match}}{{end}}
31-
<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>
31+
<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{$file.NameHash}}L{{$line.LeftIdx}}"></span></td>
3232
<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>
3333
<td class="lines-type-marker lines-type-marker-old del-code"><span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
3434
<td class="lines-code lines-code-old halfwidth del-code">{{/*
@@ -43,7 +43,7 @@
4343
*/}}<code class="code-inner"></code>{{/*
4444
*/}}{{end}}{{/*
4545
*/}}</td>
46-
<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>
46+
<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>
4747
<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>
4848
<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>
4949
<td class="lines-code lines-code-new halfwidth add-code">{{/*
@@ -60,7 +60,7 @@
6060
*/}}</td>
6161
{{else}}
6262
{{$inlineDiff := $section.GetComputedInlineDiffFor $line}}
63-
<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>
63+
<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>
6464
<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>
6565
<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
6666
<td class="lines-code lines-code-old halfwidth">{{/*
@@ -75,7 +75,7 @@
7575
*/}}<code class="code-inner"></code>{{/*
7676
*/}}{{end}}{{/*
7777
*/}}</td>
78-
<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>
78+
<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>
7979
<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>
8080
<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
8181
<td class="lines-code lines-code-new halfwidth">{{/*

templates/repo/diff/section_unified.tmpl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,24 @@
66
{{if eq .GetType 4}}
77
<td colspan="2" class="lines-num">
88
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }}
9-
<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}}">
9+
<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}}">
1010
{{svg "octicon-fold-down"}}
1111
</a>
1212
{{end}}
1313
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }}
14-
<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}}">
14+
<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}}">
1515
{{svg "octicon-fold-up"}}
1616
</a>
1717
{{end}}
1818
{{if eq $line.GetExpandDirection 2}}
19-
<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}}">
19+
<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}}">
2020
{{svg "octicon-fold"}}
2121
</a>
2222
{{end}}
2323
</td>
2424
{{else}}
25-
<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>
26-
<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>
25+
<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>
26+
<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>
2727
{{end}}
2828
{{$inlineDiff := $section.GetComputedInlineDiffFor $line -}}
2929
<td class="lines-escape">{{if $inlineDiff.EscapeStatus.Escaped}}<a href="" class="toggle-escape-button" title="{{$.i18n.Tr "repo.line_unicode"}}"></a>{{end}}</td>

0 commit comments

Comments
 (0)