diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 1201710b92..682459d94a 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -146,7 +146,6 @@ func NewFuncMap() []template.FuncMap { "EllipsisString": base.EllipsisString, "DiffTypeToStr": DiffTypeToStr, "DiffLineTypeToStr": DiffLineTypeToStr, - "Sha1": Sha1, "ShortSha": base.ShortSha, "MD5": base.EncodeMD5, "ActionContent2Commits": ActionContent2Commits, @@ -649,11 +648,6 @@ func DotEscape(raw string) string { 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. func RenderCommitMessage(ctx context.Context, msg, urlPrefix string, metas map[string]string) template.HTML { return RenderCommitMessageLink(ctx, msg, urlPrefix, "", metas) diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go index d483227ebf..31914c43ab 100644 --- a/routers/web/repo/compare.go +++ b/routers/web/repo/compare.go @@ -874,7 +874,7 @@ func ExcerptBlob(ctx *context.Context) { } } ctx.Data["section"] = section - ctx.Data["fileName"] = filePath + ctx.Data["FileNameHash"] = base.EncodeSha1(filePath) ctx.Data["AfterCommitID"] = commitID ctx.Data["Anchor"] = anchor ctx.HTML(http.StatusOK, tplBlobExcerpt) diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go index 7fe056a481..92ff92a6c0 100644 --- a/services/gitdiff/gitdiff.go +++ b/services/gitdiff/gitdiff.go @@ -25,6 +25,7 @@ import ( pull_model "code.gitea.io/gitea/models/pull" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/analyze" + "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/charset" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/highlight" @@ -604,6 +605,7 @@ func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) Dif // DiffFile represents a file diff. type DiffFile struct { Name string + NameHash string OldName string Index int Addition, Deletion int @@ -952,7 +954,6 @@ parsingLoop: break curFileLoop } } - } // TODO: There are numerous issues with this: @@ -964,6 +965,8 @@ parsingLoop: diffLineTypeBuffers[DiffLineAdd] = new(bytes.Buffer) diffLineTypeBuffers[DiffLineDel] = new(bytes.Buffer) for _, f := range diff.Files { + f.NameHash = base.EncodeSha1(f.Name) + for _, buffer := range diffLineTypeBuffers { buffer.Reset() } diff --git a/services/repository/files/diff_test.go b/services/repository/files/diff_test.go index c0a378dc4b..310308ca88 100644 --- a/services/repository/files/diff_test.go +++ b/services/repository/files/diff_test.go @@ -37,6 +37,7 @@ func TestGetDiffPreview(t *testing.T) { { Name: "README.md", OldName: "README.md", + NameHash: "8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d", Index: 1, Addition: 2, Deletion: 1, @@ -123,7 +124,7 @@ func TestGetDiffPreview(t *testing.T) { assert.NoError(t, err) bs, err := json.Marshal(diff) 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) { diff --git a/templates/repo/diff/blob_excerpt.tmpl b/templates/repo/diff/blob_excerpt.tmpl index ebfae2795c..7ea33dcf9a 100644 --- a/templates/repo/diff/blob_excerpt.tmpl +++ b/templates/repo/diff/blob_excerpt.tmpl @@ -22,13 +22,13 @@
{{$inlineDiff.Content}}
{{if $line.LeftIdx}}{{$inlineDiff.Content}}{{end}}
{{/*
*/}}
{{/*
*/}}{{end}}{{/*
*/}}
{{/*
*/}}{{end}}{{/*
*/}}