aboutsummaryrefslogtreecommitdiffstats
path: root/routers/web/repo/view.go
diff options
context:
space:
mode:
authorYoan Blanc <yoan@dosimple.ch>2023-04-06 22:01:20 +0200
committerGitHub <noreply@github.com>2023-04-06 16:01:20 -0400
commit9b416b2e36a035672226d4b83c6b7e87578b17fe (patch)
treeede783a30f3de218f5db6a49d82a786b1c7c57d2 /routers/web/repo/view.go
parent797babbfcbcf845fe12c8659fffa1693ec4708bb (diff)
downloadgitea-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.go13
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"