From 7ed18566e10b298309dcc99d97447cb1932ae09a Mon Sep 17 00:00:00 2001 From: JakobDev Date: Wed, 24 Jan 2024 06:51:37 +0100 Subject: [PATCH] Show in Web UI if file is vendored and generated (#28620) This simple shows in the Web UI is a file is vendored and/or generated. ![grafik](https://github.com/go-gitea/gitea/assets/15185051/bfe45fcc-cfec-4ba1-8d93-c0a262c3ae1c) ![grafik](https://github.com/go-gitea/gitea/assets/15185051/9f222a49-e7bf-4540-ba64-43dcc5767b76) --------- Co-authored-by: delvh Co-authored-by: Lunny Xiao --- options/locale/locale_en-US.ini | 2 ++ routers/web/repo/view.go | 15 +++++++++++++++ templates/repo/file_info.tmpl | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 26734f2dd622..effb3896c25e 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1191,6 +1191,8 @@ audio_not_supported_in_browser = Your browser does not support the HTML5 'audio' stored_lfs = Stored with Git LFS symbolic_link = Symbolic link executable_file = Executable File +vendored = Vendored +generated = Generated commit_graph = Commit Graph commit_graph.select = Select branches commit_graph.hide_pr_refs = Hide Pull Requests diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index aa07d5939deb..00fd47b6506d 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -647,6 +647,21 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) { } } + if ctx.Repo.GitRepo != nil { + checker, deferable := ctx.Repo.GitRepo.CheckAttributeReader(ctx.Repo.CommitID) + if checker != nil { + defer deferable() + attrs, err := checker.CheckPath(ctx.Repo.TreePath) + if err == nil { + vendored, has := attrs["linguist-vendored"] + ctx.Data["IsVendored"] = has && (vendored == "set" || vendored == "true") + + generated, has := attrs["linguist-generated"] + ctx.Data["IsGenerated"] = has && (generated == "set" || generated == "true") + } + } + } + if fInfo.st.IsImage() && !fInfo.st.IsSvgImage() { img, _, err := image.DecodeConfig(bytes.NewReader(buf)) if err == nil { diff --git a/templates/repo/file_info.tmpl b/templates/repo/file_info.tmpl index 3003fbbdb6df..33f0f87d6163 100644 --- a/templates/repo/file_info.tmpl +++ b/templates/repo/file_info.tmpl @@ -30,6 +30,16 @@ {{ctx.Locale.Tr "repo.executable_file"}} {{end}} + {{if .IsVendored}} +
+ {{ctx.Locale.Tr "repo.vendored"}} +
+ {{end}} + {{if .IsGenerated}} +
+ {{ctx.Locale.Tr "repo.generated"}} +
+ {{end}} {{if .ImageSize}}
{{.ImageSize}}