diff options
author | Yoan Blanc <yoan@dosimple.ch> | 2023-04-06 22:01:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-06 16:01:20 -0400 |
commit | 9b416b2e36a035672226d4b83c6b7e87578b17fe (patch) | |
tree | ede783a30f3de218f5db6a49d82a786b1c7c57d2 /routers/web/repo/view.go | |
parent | 797babbfcbcf845fe12c8659fffa1693ec4708bb (diff) | |
download | gitea-9b416b2e36a035672226d4b83c6b7e87578b17fe.tar.gz gitea-9b416b2e36a035672226d4b83c6b7e87578b17fe.zip |
Use graceful editorconfig loader to reduce errors when loading malformed editorconfigs (#21257)
The _graceful_ should fail less when the `.editorconfig` file isn't
properly written, e.g. boolean values from YAML or unparseable numbers
(when a number is expected). As is... information is lost as the
_warning_ (a go-multierror.Error) is ignored. If anybody knows how to
send them to the UI as warning; any help is appreciated.
Closes #20694
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
Diffstat (limited to 'routers/web/repo/view.go')
-rw-r--r-- | routers/web/repo/view.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index ce60d91150..2a57f8ef37 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -346,11 +346,18 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st ctx.Data["RawFileLink"] = rawLink + "/" + util.PathEscapeSegments(ctx.Repo.TreePath) if ctx.Repo.TreePath == ".editorconfig" { - _, editorconfigErr := ctx.Repo.GetEditorconfig(ctx.Repo.Commit) - ctx.Data["FileError"] = editorconfigErr + _, editorconfigWarning, editorconfigErr := ctx.Repo.GetEditorconfig(ctx.Repo.Commit) + if editorconfigWarning != nil { + ctx.Data["FileWarning"] = strings.TrimSpace(editorconfigWarning.Error()) + } + if editorconfigErr != nil { + ctx.Data["FileError"] = strings.TrimSpace(editorconfigErr.Error()) + } } else if ctx.Repo.IsIssueConfig(ctx.Repo.TreePath) { _, issueConfigErr := ctx.Repo.GetIssueConfig(ctx.Repo.TreePath, ctx.Repo.Commit) - ctx.Data["FileError"] = issueConfigErr + if issueConfigErr != nil { + ctx.Data["FileError"] = strings.TrimSpace(issueConfigErr.Error()) + } } isDisplayingSource := ctx.FormString("display") == "source" |