]> source.dussan.org Git - gitea.git/commitdiff
Show in Web UI if file is vendored and generated (#28620)
authorJakobDev <jakobdev@gmx.de>
Wed, 24 Jan 2024 05:51:37 +0000 (06:51 +0100)
committerGitHub <noreply@github.com>
Wed, 24 Jan 2024 05:51:37 +0000 (13:51 +0800)
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 <dev.lh@web.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
options/locale/locale_en-US.ini
routers/web/repo/view.go
templates/repo/file_info.tmpl

index 26734f2dd6228a1aaf85c930db8adeb04e49e3a9..effb3896c25eb8a0b4df756d84335a373da5b210 100644 (file)
@@ -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
index aa07d5939deb0b51bf34e41204eb48c838f36e57..00fd47b6506d13380dc0b917af21ecb5aa403b0c 100644 (file)
@@ -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 {
index 3003fbbdb6df50becda5f8d74b52ad88b52b8e4c..33f0f87d6163f248c1304eec4ad5f51b487cb4da 100644 (file)
                        {{ctx.Locale.Tr "repo.executable_file"}}
                </div>
        {{end}}
+       {{if .IsVendored}}
+               <div class="file-info-entry">
+                       {{ctx.Locale.Tr "repo.vendored"}}
+               </div>
+       {{end}}
+       {{if .IsGenerated}}
+               <div class="file-info-entry">
+                       {{ctx.Locale.Tr "repo.generated"}}
+               </div>
+       {{end}}
        {{if .ImageSize}}
                <div class="file-info-entry">
                        {{.ImageSize}}