From ea0fe83888b08ca02edbb96b0e7f387a0c637a94 Mon Sep 17 00:00:00 2001 From: Gusted Date: Tue, 16 Nov 2021 20:38:49 +0000 Subject: [PATCH] Fix golangci-lint warnings (#17598 et al) (#17668) Backport #17598 Backport #17606 Backport #17608 Backport #17609 - Since https://gitea.com/gitea/test-env/pulls/10 the golangci-lint has been upgraded and is erroring about new warnings in the code, this PR fixes those warnings. --- .golangci.yml | 1 - build.go | 3 ++- build/generate-bindata.go | 1 + build/generate-emoji.go | 1 + build/generate-gitignores.go | 1 + build/generate-licenses.go | 1 + build/gocovmerge.go | 1 + cmd/docs.go | 6 +++++- cmd/embedded.go | 1 + cmd/embedded_stub.go | 1 + models/migrations/migrations.go | 9 ++++++++- modules/auth/pam/pam.go | 1 + modules/auth/pam/pam_stub.go | 5 +++-- modules/auth/pam/pam_test.go | 1 + modules/git/blob_gogit.go | 1 + modules/git/blob_nogogit.go | 1 + modules/git/command_test.go | 1 + modules/git/commit_convert_gogit.go | 1 + modules/git/commit_info_gogit.go | 1 + modules/git/commit_info_nogogit.go | 1 + modules/git/last_commit_cache_gogit.go | 1 + modules/git/last_commit_cache_nogogit.go | 1 + modules/git/notes_gogit.go | 1 + modules/git/notes_nogogit.go | 1 + modules/git/parse_gogit.go | 1 + modules/git/parse_gogit_test.go | 1 + modules/git/parse_nogogit.go | 1 + modules/git/parse_nogogit_test.go | 1 + modules/git/pipeline/lfs.go | 1 + modules/git/pipeline/lfs_nogogit.go | 1 + modules/git/repo_base_gogit.go | 1 + modules/git/repo_base_nogogit.go | 1 + modules/git/repo_blob_gogit.go | 1 + modules/git/repo_blob_nogogit.go | 1 + modules/git/repo_branch_gogit.go | 1 + modules/git/repo_branch_nogogit.go | 1 + modules/git/repo_commit_gogit.go | 1 + modules/git/repo_commit_nogogit.go | 1 + modules/git/repo_commitgraph_gogit.go | 1 + modules/git/repo_language_stats_gogit.go | 1 + modules/git/repo_language_stats_nogogit.go | 1 + modules/git/repo_ref_gogit.go | 1 + modules/git/repo_ref_nogogit.go | 1 + modules/git/repo_tag_gogit.go | 1 + modules/git/repo_tag_nogogit.go | 1 + modules/git/repo_tree_gogit.go | 1 + modules/git/repo_tree_nogogit.go | 1 + modules/git/sha1_gogit.go | 1 + modules/git/sha1_nogogit.go | 1 + modules/git/signature_gogit.go | 1 + modules/git/signature_nogogit.go | 1 + modules/git/submodule.go | 4 +--- modules/git/tree_blob_gogit.go | 1 + modules/git/tree_blob_nogogit.go | 1 + modules/git/tree_entry_gogit.go | 1 + modules/git/tree_entry_nogogit.go | 1 + modules/git/tree_entry_test.go | 1 + modules/git/tree_gogit.go | 1 + modules/git/tree_nogogit.go | 1 + modules/gitgraph/graph_models.go | 8 +++----- modules/graceful/manager_unix.go | 5 +++-- modules/graceful/manager_windows.go | 5 +++-- modules/graceful/net_unix.go | 5 +++-- modules/graceful/net_windows.go | 5 +++-- modules/graceful/restart_unix.go | 5 +++-- modules/indexer/code/bleve.go | 4 ++++ modules/indexer/code/elastic_search.go | 5 ++++- modules/indexer/code/indexer.go | 6 ------ modules/indexer/stats/queue.go | 2 +- modules/lfs/endpoint.go | 4 +--- modules/lfs/pointer_scanner_gogit.go | 1 + modules/lfs/pointer_scanner_nogogit.go | 1 + modules/markup/common/footnote.go | 2 +- modules/options/dynamic.go | 5 +++-- modules/options/options_bindata.go | 3 ++- modules/options/static.go | 1 + modules/public/dynamic.go | 5 +++-- modules/public/public_bindata.go | 3 ++- modules/public/static.go | 1 + modules/repository/adopt.go | 2 +- modules/setting/database_sqlite.go | 1 + modules/svg/discover_bindata.go | 1 + modules/svg/discover_nobindata.go | 1 + modules/templates/dynamic.go | 5 +++-- modules/templates/static.go | 1 + modules/templates/templates_bindata.go | 3 ++- routers/private/manager_unix.go | 5 +++-- routers/private/manager_windows.go | 5 +++-- routers/web/base.go | 8 -------- routers/web/user/setting/adopt.go | 2 +- routers/web/user/setting/profile.go | 2 +- services/auth/placeholder.go | 1 + services/pull/check.go | 2 +- services/pull/merge.go | 4 ++-- services/repository/push.go | 2 +- tools/fuzz.go | 1 + 96 files changed, 139 insertions(+), 64 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index c3dd47ec29..6e7aa750f7 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -9,7 +9,6 @@ linters: - unused - structcheck - varcheck - - golint - dupl #- gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time. - gofmt diff --git a/build.go b/build.go index b843465dca..aa56141340 100644 --- a/build.go +++ b/build.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -//+build vendor +//go:build vendor +// +build vendor package main diff --git a/build/generate-bindata.go b/build/generate-bindata.go index fa1669fcf9..efd172f779 100644 --- a/build/generate-bindata.go +++ b/build/generate-bindata.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build ignore // +build ignore package main diff --git a/build/generate-emoji.go b/build/generate-emoji.go index 53c5285b23..f8e6498840 100644 --- a/build/generate-emoji.go +++ b/build/generate-emoji.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build ignore // +build ignore package main diff --git a/build/generate-gitignores.go b/build/generate-gitignores.go index 846bb07636..d0b972e803 100644 --- a/build/generate-gitignores.go +++ b/build/generate-gitignores.go @@ -1,3 +1,4 @@ +//go:build ignore // +build ignore package main diff --git a/build/generate-licenses.go b/build/generate-licenses.go index 9dd13adf9a..4009a0351d 100644 --- a/build/generate-licenses.go +++ b/build/generate-licenses.go @@ -1,3 +1,4 @@ +//go:build ignore // +build ignore package main diff --git a/build/gocovmerge.go b/build/gocovmerge.go index 65d6f2cd6c..b38cf5ea3d 100644 --- a/build/gocovmerge.go +++ b/build/gocovmerge.go @@ -6,6 +6,7 @@ // gocovmerge takes the results from multiple `go test -coverprofile` runs and // merges them into one profile +//go:build ignore // +build ignore package main diff --git a/cmd/docs.go b/cmd/docs.go index 52233c7ac8..073c574973 100644 --- a/cmd/docs.go +++ b/cmd/docs.go @@ -43,7 +43,11 @@ func runDocs(ctx *cli.Context) error { // Clean up markdown. The following bug was fixed in v2, but is present in v1. // It affects markdown output (even though the issue is referring to man pages) // https://github.com/urfave/cli/issues/1040 - docs = docs[strings.Index(docs, "#"):] + firstHashtagIndex := strings.Index(docs, "#") + + if firstHashtagIndex > 0 { + docs = docs[firstHashtagIndex:] + } } out := os.Stdout diff --git a/cmd/embedded.go b/cmd/embedded.go index 528f32402e..2aeaba4786 100644 --- a/cmd/embedded.go +++ b/cmd/embedded.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build bindata // +build bindata package cmd diff --git a/cmd/embedded_stub.go b/cmd/embedded_stub.go index 1f9af7b86b..0e9e3e6ec3 100644 --- a/cmd/embedded_stub.go +++ b/cmd/embedded_stub.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !bindata // +build !bindata package cmd diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 63482ea790..dd251a5bcd 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -7,6 +7,7 @@ package migrations import ( "context" + "errors" "fmt" "os" "reflect" @@ -762,8 +763,14 @@ func dropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin } tableSQL := string(res[0]["sql"]) + // Get the string offset for column definitions: `CREATE TABLE ( column-definitions... )` + columnDefinitionsIndex := strings.Index(tableSQL, "(") + if columnDefinitionsIndex < 0 { + return errors.New("couldn't find column definitions") + } + // Separate out the column definitions - tableSQL = tableSQL[strings.Index(tableSQL, "("):] + tableSQL = tableSQL[columnDefinitionsIndex:] // Remove the required columnNames for _, name := range columnNames { diff --git a/modules/auth/pam/pam.go b/modules/auth/pam/pam.go index f21602c6b5..6906a9da89 100644 --- a/modules/auth/pam/pam.go +++ b/modules/auth/pam/pam.go @@ -1,3 +1,4 @@ +//go:build pam // +build pam // Copyright 2014 The Gogs Authors. All rights reserved. diff --git a/modules/auth/pam/pam_stub.go b/modules/auth/pam/pam_stub.go index 02d8da3c57..815ccf2b0e 100644 --- a/modules/auth/pam/pam_stub.go +++ b/modules/auth/pam/pam_stub.go @@ -1,9 +1,10 @@ -// +build !pam - // Copyright 2014 The Gogs Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !pam +// +build !pam + package pam import ( diff --git a/modules/auth/pam/pam_test.go b/modules/auth/pam/pam_test.go index fa16ff0fe7..d6d78a748b 100644 --- a/modules/auth/pam/pam_test.go +++ b/modules/auth/pam/pam_test.go @@ -1,3 +1,4 @@ +//go:build pam // +build pam // Copyright 2021 The Gitea Authors. All rights reserved. diff --git a/modules/git/blob_gogit.go b/modules/git/blob_gogit.go index 7a82eb5c37..ef7a90c3f4 100644 --- a/modules/git/blob_gogit.go +++ b/modules/git/blob_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/blob_nogogit.go b/modules/git/blob_nogogit.go index f70ecb5333..3391bc3931 100644 --- a/modules/git/blob_nogogit.go +++ b/modules/git/blob_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/command_test.go b/modules/git/command_test.go index 00801ae31f..58d616a038 100644 --- a/modules/git/command_test.go +++ b/modules/git/command_test.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build race // +build race package git diff --git a/modules/git/commit_convert_gogit.go b/modules/git/commit_convert_gogit.go index be2b948b36..b328b3c0ed 100644 --- a/modules/git/commit_convert_gogit.go +++ b/modules/git/commit_convert_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/commit_info_gogit.go b/modules/git/commit_info_gogit.go index a8006dcef2..8b82f3f66c 100644 --- a/modules/git/commit_info_gogit.go +++ b/modules/git/commit_info_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/commit_info_nogogit.go b/modules/git/commit_info_nogogit.go index 060ecba261..f57355d16e 100644 --- a/modules/git/commit_info_nogogit.go +++ b/modules/git/commit_info_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/last_commit_cache_gogit.go b/modules/git/last_commit_cache_gogit.go index b8e0db46a9..fb09af6f2a 100644 --- a/modules/git/last_commit_cache_gogit.go +++ b/modules/git/last_commit_cache_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/last_commit_cache_nogogit.go b/modules/git/last_commit_cache_nogogit.go index faf6e23fa8..f71e7350a1 100644 --- a/modules/git/last_commit_cache_nogogit.go +++ b/modules/git/last_commit_cache_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/notes_gogit.go b/modules/git/notes_gogit.go index 702754069b..654a52f5f4 100644 --- a/modules/git/notes_gogit.go +++ b/modules/git/notes_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/notes_nogogit.go b/modules/git/notes_nogogit.go index 267087a86f..f75ab33edd 100644 --- a/modules/git/notes_nogogit.go +++ b/modules/git/notes_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/parse_gogit.go b/modules/git/parse_gogit.go index a50ebec3dd..c42e32929e 100644 --- a/modules/git/parse_gogit.go +++ b/modules/git/parse_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/parse_gogit_test.go b/modules/git/parse_gogit_test.go index c6374133c0..c27f5172d5 100644 --- a/modules/git/parse_gogit_test.go +++ b/modules/git/parse_gogit_test.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/parse_nogogit.go b/modules/git/parse_nogogit.go index 667111ec4a..dd5554b5dd 100644 --- a/modules/git/parse_nogogit.go +++ b/modules/git/parse_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/parse_nogogit_test.go b/modules/git/parse_nogogit_test.go index 502c38d4e8..5f58237de8 100644 --- a/modules/git/parse_nogogit_test.go +++ b/modules/git/parse_nogogit_test.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/pipeline/lfs.go b/modules/git/pipeline/lfs.go index d47b7d91ea..46a48b710c 100644 --- a/modules/git/pipeline/lfs.go +++ b/modules/git/pipeline/lfs.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package pipeline diff --git a/modules/git/pipeline/lfs_nogogit.go b/modules/git/pipeline/lfs_nogogit.go index d3696fcda2..a441e37b60 100644 --- a/modules/git/pipeline/lfs_nogogit.go +++ b/modules/git/pipeline/lfs_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package pipeline diff --git a/modules/git/repo_base_gogit.go b/modules/git/repo_base_gogit.go index 6186824c0b..afa5383b11 100644 --- a/modules/git/repo_base_gogit.go +++ b/modules/git/repo_base_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_base_nogogit.go b/modules/git/repo_base_nogogit.go index 1675967d18..22c4dfdcb3 100644 --- a/modules/git/repo_base_nogogit.go +++ b/modules/git/repo_base_nogogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_blob_gogit.go b/modules/git/repo_blob_gogit.go index 485c233ff8..b11e9f58fe 100644 --- a/modules/git/repo_blob_gogit.go +++ b/modules/git/repo_blob_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_blob_nogogit.go b/modules/git/repo_blob_nogogit.go index afb08d29cb..775b3835dd 100644 --- a/modules/git/repo_blob_nogogit.go +++ b/modules/git/repo_blob_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_branch_gogit.go b/modules/git/repo_branch_gogit.go index e8386b2dbd..6bf14b3999 100644 --- a/modules/git/repo_branch_gogit.go +++ b/modules/git/repo_branch_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_branch_nogogit.go b/modules/git/repo_branch_nogogit.go index 7d10b8ba0f..666ca81c1e 100644 --- a/modules/git/repo_branch_nogogit.go +++ b/modules/git/repo_branch_nogogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_commit_gogit.go b/modules/git/repo_commit_gogit.go index 2f9b1c4206..175b6e6446 100644 --- a/modules/git/repo_commit_gogit.go +++ b/modules/git/repo_commit_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_commit_nogogit.go b/modules/git/repo_commit_nogogit.go index afd5166f1d..b7e49a6501 100644 --- a/modules/git/repo_commit_nogogit.go +++ b/modules/git/repo_commit_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_commitgraph_gogit.go b/modules/git/repo_commitgraph_gogit.go index 6773109451..84a2edb664 100644 --- a/modules/git/repo_commitgraph_gogit.go +++ b/modules/git/repo_commitgraph_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_language_stats_gogit.go b/modules/git/repo_language_stats_gogit.go index 20a7b061f2..0a4cfbbc7b 100644 --- a/modules/git/repo_language_stats_gogit.go +++ b/modules/git/repo_language_stats_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_language_stats_nogogit.go b/modules/git/repo_language_stats_nogogit.go index 1684f21d16..7425e2dbb1 100644 --- a/modules/git/repo_language_stats_nogogit.go +++ b/modules/git/repo_language_stats_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_ref_gogit.go b/modules/git/repo_ref_gogit.go index 2e83e6c462..9f0e11366f 100644 --- a/modules/git/repo_ref_gogit.go +++ b/modules/git/repo_ref_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_ref_nogogit.go b/modules/git/repo_ref_nogogit.go index 540961592b..ec0c5ec4ca 100644 --- a/modules/git/repo_ref_nogogit.go +++ b/modules/git/repo_ref_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_tag_gogit.go b/modules/git/repo_tag_gogit.go index 3ac097c9a8..3022fe96f7 100644 --- a/modules/git/repo_tag_gogit.go +++ b/modules/git/repo_tag_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_tag_nogogit.go b/modules/git/repo_tag_nogogit.go index a9e122aeaa..0170f0cc76 100644 --- a/modules/git/repo_tag_nogogit.go +++ b/modules/git/repo_tag_nogogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/repo_tree_gogit.go b/modules/git/repo_tree_gogit.go index d878f5e7a7..2ddffcf79b 100644 --- a/modules/git/repo_tree_gogit.go +++ b/modules/git/repo_tree_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/repo_tree_nogogit.go b/modules/git/repo_tree_nogogit.go index 967f8aea3f..9d4268b13a 100644 --- a/modules/git/repo_tree_nogogit.go +++ b/modules/git/repo_tree_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/sha1_gogit.go b/modules/git/sha1_gogit.go index 5953af58bf..30290f14b7 100644 --- a/modules/git/sha1_gogit.go +++ b/modules/git/sha1_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/sha1_nogogit.go b/modules/git/sha1_nogogit.go index 09b5baacd5..53665fc921 100644 --- a/modules/git/sha1_nogogit.go +++ b/modules/git/sha1_nogogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/signature_gogit.go b/modules/git/signature_gogit.go index 804c0074d3..903a48133f 100644 --- a/modules/git/signature_gogit.go +++ b/modules/git/signature_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/signature_nogogit.go b/modules/git/signature_nogogit.go index 753d87b605..c6fe8e6d1a 100644 --- a/modules/git/signature_nogogit.go +++ b/modules/git/signature_nogogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/submodule.go b/modules/git/submodule.go index 231827f1e9..ee61f61179 100644 --- a/modules/git/submodule.go +++ b/modules/git/submodule.go @@ -52,9 +52,7 @@ func getRefURL(refURL, urlPrefix, repoFullName, sshDomain string) string { urlPrefixHostname = prefixURL.Host } - if strings.HasSuffix(urlPrefix, "/") { - urlPrefix = urlPrefix[:len(urlPrefix)-1] - } + urlPrefix = strings.TrimSuffix(urlPrefix, "/") // FIXME: Need to consider branch - which will require changes in modules/git/commit.go:GetSubModules // Relative url prefix check (according to git submodule documentation) diff --git a/modules/git/tree_blob_gogit.go b/modules/git/tree_blob_gogit.go index 93ebc8a367..a8d619cd18 100644 --- a/modules/git/tree_blob_gogit.go +++ b/modules/git/tree_blob_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/tree_blob_nogogit.go b/modules/git/tree_blob_nogogit.go index fdd8d79c8b..df23ff01b4 100644 --- a/modules/git/tree_blob_nogogit.go +++ b/modules/git/tree_blob_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/tree_entry_gogit.go b/modules/git/tree_entry_gogit.go index 219251a77e..20e767eea1 100644 --- a/modules/git/tree_entry_gogit.go +++ b/modules/git/tree_entry_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/tree_entry_nogogit.go b/modules/git/tree_entry_nogogit.go index 41356ceba2..288ec4db6e 100644 --- a/modules/git/tree_entry_nogogit.go +++ b/modules/git/tree_entry_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/git/tree_entry_test.go b/modules/git/tree_entry_test.go index 3382de4102..402c345887 100644 --- a/modules/git/tree_entry_test.go +++ b/modules/git/tree_entry_test.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/tree_gogit.go b/modules/git/tree_gogit.go index 79132c5548..bc02088366 100644 --- a/modules/git/tree_gogit.go +++ b/modules/git/tree_gogit.go @@ -3,6 +3,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package git diff --git a/modules/git/tree_nogogit.go b/modules/git/tree_nogogit.go index 9661d8faea..3d3fd26ece 100644 --- a/modules/git/tree_nogogit.go +++ b/modules/git/tree_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package git diff --git a/modules/gitgraph/graph_models.go b/modules/gitgraph/graph_models.go index ec47f0ad84..5ed2642328 100644 --- a/modules/gitgraph/graph_models.go +++ b/modules/gitgraph/graph_models.go @@ -217,11 +217,9 @@ func newRefsFromRefNames(refNames []byte) []git.Reference { continue } refName := string(refNameBytes) - if strings.HasPrefix(refName, "tag: ") { - refName = strings.TrimPrefix(refName, "tag: ") - } else if strings.HasPrefix(refName, "HEAD -> ") { - refName = strings.TrimPrefix(refName, "HEAD -> ") - } + refName = strings.TrimPrefix(refName, "tag: ") + refName = strings.TrimPrefix(refName, "HEAD -> ") + refs = append(refs, git.Reference{ Name: refName, }) diff --git a/modules/graceful/manager_unix.go b/modules/graceful/manager_unix.go index 20d9b3905c..fcbb16a3bb 100644 --- a/modules/graceful/manager_unix.go +++ b/modules/graceful/manager_unix.go @@ -1,9 +1,10 @@ -// +build !windows - // Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !windows +// +build !windows + package graceful import ( diff --git a/modules/graceful/manager_windows.go b/modules/graceful/manager_windows.go index 51f29778ba..e5f5541ed3 100644 --- a/modules/graceful/manager_windows.go +++ b/modules/graceful/manager_windows.go @@ -1,10 +1,11 @@ -// +build windows - // Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler +//go:build windows +// +build windows + package graceful import ( diff --git a/modules/graceful/net_unix.go b/modules/graceful/net_unix.go index 2dc714955e..6ffa8150cc 100644 --- a/modules/graceful/net_unix.go +++ b/modules/graceful/net_unix.go @@ -1,10 +1,11 @@ -// +build !windows - // Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler +//go:build !windows +// +build !windows + package graceful import ( diff --git a/modules/graceful/net_windows.go b/modules/graceful/net_windows.go index 3fc1433491..35b7a9d1fe 100644 --- a/modules/graceful/net_windows.go +++ b/modules/graceful/net_windows.go @@ -1,10 +1,11 @@ -// +build windows - // Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler +//go:build windows +// +build windows + package graceful import "net" diff --git a/modules/graceful/restart_unix.go b/modules/graceful/restart_unix.go index 9a94e5fa67..392ed60cb3 100644 --- a/modules/graceful/restart_unix.go +++ b/modules/graceful/restart_unix.go @@ -1,10 +1,11 @@ -// +build !windows - // Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler +//go:build !windows +// +build !windows + package graceful import ( diff --git a/modules/indexer/code/bleve.go b/modules/indexer/code/bleve.go index fc5c602dbe..4f8ced6232 100644 --- a/modules/indexer/code/bleve.go +++ b/modules/indexer/code/bleve.go @@ -174,6 +174,10 @@ func NewBleveIndexer(indexDir string) (*BleveIndexer, bool, error) { indexDir: indexDir, } created, err := indexer.init() + if err != nil { + indexer.Close() + return nil, false, err + } return indexer, created, err } diff --git a/modules/indexer/code/elastic_search.go b/modules/indexer/code/elastic_search.go index 569917f151..9e5fe506e5 100644 --- a/modules/indexer/code/elastic_search.go +++ b/modules/indexer/code/elastic_search.go @@ -83,7 +83,10 @@ func NewElasticSearchIndexer(url, indexerName string) (*ElasticSearchIndexer, bo indexerAliasName: indexerName, } exists, err := indexer.init() - + if err != nil { + indexer.Close() + return nil, false, err + } return indexer, !exists, err } diff --git a/modules/indexer/code/indexer.go b/modules/indexer/code/indexer.go index 67fa43eda8..f81d9abb94 100644 --- a/modules/indexer/code/indexer.go +++ b/modules/indexer/code/indexer.go @@ -188,9 +188,6 @@ func Init() { rIndexer, populate, err = NewBleveIndexer(setting.Indexer.RepoPath) if err != nil { - if rIndexer != nil { - rIndexer.Close() - } cancel() indexer.Close() close(waitChannel) @@ -208,9 +205,6 @@ func Init() { rIndexer, populate, err = NewElasticSearchIndexer(setting.Indexer.RepoConnStr, setting.Indexer.RepoIndexerName) if err != nil { - if rIndexer != nil { - rIndexer.Close() - } cancel() indexer.Close() close(waitChannel) diff --git a/modules/indexer/stats/queue.go b/modules/indexer/stats/queue.go index 8309cfcd3b..fde3f2ff01 100644 --- a/modules/indexer/stats/queue.go +++ b/modules/indexer/stats/queue.go @@ -27,7 +27,7 @@ func handle(data ...queue.Data) { } func initStatsQueue() error { - statsQueue = queue.CreateUniqueQueue("repo_stats_update", handle, int64(0)).(queue.UniqueQueue) + statsQueue = queue.CreateUniqueQueue("repo_stats_update", handle, int64(0)) if statsQueue == nil { return fmt.Errorf("Unable to create repo_stats_update Queue") } diff --git a/modules/lfs/endpoint.go b/modules/lfs/endpoint.go index add16ce9f1..943966ed15 100644 --- a/modules/lfs/endpoint.go +++ b/modules/lfs/endpoint.go @@ -29,9 +29,7 @@ func endpointFromCloneURL(rawurl string) *url.URL { return ep } - if strings.HasSuffix(ep.Path, "/") { - ep.Path = ep.Path[:len(ep.Path)-1] - } + ep.Path = strings.TrimSuffix(ep.Path, "/") if ep.Scheme == "file" { return ep diff --git a/modules/lfs/pointer_scanner_gogit.go b/modules/lfs/pointer_scanner_gogit.go index abd882990c..7e8b812f46 100644 --- a/modules/lfs/pointer_scanner_gogit.go +++ b/modules/lfs/pointer_scanner_gogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gogit // +build gogit package lfs diff --git a/modules/lfs/pointer_scanner_nogogit.go b/modules/lfs/pointer_scanner_nogogit.go index b5654d5de7..d8076b9021 100644 --- a/modules/lfs/pointer_scanner_nogogit.go +++ b/modules/lfs/pointer_scanner_nogogit.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !gogit // +build !gogit package lfs diff --git a/modules/markup/common/footnote.go b/modules/markup/common/footnote.go index 9baf8a4998..a4be013250 100644 --- a/modules/markup/common/footnote.go +++ b/modules/markup/common/footnote.go @@ -126,7 +126,7 @@ type Footnote struct { func (n *Footnote) Dump(source []byte, level int) { m := map[string]string{} m["Index"] = fmt.Sprintf("%v", n.Index) - m["Ref"] = fmt.Sprintf("%s", n.Ref) + m["Ref"] = string(n.Ref) m["Name"] = fmt.Sprintf("%v", n.Name) ast.DumpHelper(n, source, level, m, nil) } diff --git a/modules/options/dynamic.go b/modules/options/dynamic.go index ffb89df882..13fa5d6aa7 100644 --- a/modules/options/dynamic.go +++ b/modules/options/dynamic.go @@ -1,9 +1,10 @@ -// +build !bindata - // Copyright 2016 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !bindata +// +build !bindata + package options import ( diff --git a/modules/options/options_bindata.go b/modules/options/options_bindata.go index 262bd0de3e..64da772c6f 100644 --- a/modules/options/options_bindata.go +++ b/modules/options/options_bindata.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -//+build bindata +//go:build bindata +// +build bindata package options diff --git a/modules/options/static.go b/modules/options/static.go index 5f4ffdda78..e6a4454b7d 100644 --- a/modules/options/static.go +++ b/modules/options/static.go @@ -1,3 +1,4 @@ +//go:build bindata // +build bindata // Copyright 2016 The Gitea Authors. All rights reserved. diff --git a/modules/public/dynamic.go b/modules/public/dynamic.go index 0bfe38bc3f..955c01e510 100644 --- a/modules/public/dynamic.go +++ b/modules/public/dynamic.go @@ -1,9 +1,10 @@ -// +build !bindata - // Copyright 2016 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !bindata +// +build !bindata + package public import ( diff --git a/modules/public/public_bindata.go b/modules/public/public_bindata.go index 05648aea80..eb10d96426 100644 --- a/modules/public/public_bindata.go +++ b/modules/public/public_bindata.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -//+build bindata +//go:build bindata +// +build bindata package public diff --git a/modules/public/static.go b/modules/public/static.go index 827dc2a1e0..1e5853961f 100644 --- a/modules/public/static.go +++ b/modules/public/static.go @@ -1,3 +1,4 @@ +//go:build bindata // +build bindata // Copyright 2016 The Gitea Authors. All rights reserved. diff --git a/modules/repository/adopt.go b/modules/repository/adopt.go index cdcf7104e0..fe23bdf5e7 100644 --- a/modules/repository/adopt.go +++ b/modules/repository/adopt.go @@ -152,7 +152,7 @@ func ListUnadoptedRepositories(query string, opts *models.ListOptions) ([]string count := 0 // We're going to iterate by pagesize. - root := filepath.Join(setting.RepoRootPath) + root := filepath.Clean(setting.RepoRootPath) if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if err != nil { return err diff --git a/modules/setting/database_sqlite.go b/modules/setting/database_sqlite.go index 623326ddc2..798292fec8 100644 --- a/modules/setting/database_sqlite.go +++ b/modules/setting/database_sqlite.go @@ -1,3 +1,4 @@ +//go:build sqlite // +build sqlite // Copyright 2014 The Gogs Authors. All rights reserved. diff --git a/modules/svg/discover_bindata.go b/modules/svg/discover_bindata.go index 1f7af0c9f8..e11951ff7e 100644 --- a/modules/svg/discover_bindata.go +++ b/modules/svg/discover_bindata.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build bindata // +build bindata package svg diff --git a/modules/svg/discover_nobindata.go b/modules/svg/discover_nobindata.go index d667da2d66..8d857551dc 100644 --- a/modules/svg/discover_nobindata.go +++ b/modules/svg/discover_nobindata.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !bindata // +build !bindata package svg diff --git a/modules/templates/dynamic.go b/modules/templates/dynamic.go index 160e4e05f2..4732fce421 100644 --- a/modules/templates/dynamic.go +++ b/modules/templates/dynamic.go @@ -1,9 +1,10 @@ -// +build !bindata - // Copyright 2016 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !bindata +// +build !bindata + package templates import ( diff --git a/modules/templates/static.go b/modules/templates/static.go index 7f95d77ad3..27449f926d 100644 --- a/modules/templates/static.go +++ b/modules/templates/static.go @@ -1,3 +1,4 @@ +//go:build bindata // +build bindata // Copyright 2016 The Gitea Authors. All rights reserved. diff --git a/modules/templates/templates_bindata.go b/modules/templates/templates_bindata.go index 5a59286c7a..887f9eeba2 100644 --- a/modules/templates/templates_bindata.go +++ b/modules/templates/templates_bindata.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -//+build bindata +//go:build bindata +// +build bindata package templates diff --git a/routers/private/manager_unix.go b/routers/private/manager_unix.go index 60ae9b68e8..1738c06a05 100644 --- a/routers/private/manager_unix.go +++ b/routers/private/manager_unix.go @@ -1,9 +1,10 @@ -// +build !windows - // Copyright 2020 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !windows +// +build !windows + package private import ( diff --git a/routers/private/manager_windows.go b/routers/private/manager_windows.go index f6c9b7ec8f..a8a477313f 100644 --- a/routers/private/manager_windows.go +++ b/routers/private/manager_windows.go @@ -1,9 +1,10 @@ -// +build windows - // Copyright 2020 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build windows +// +build windows + package private import ( diff --git a/routers/web/base.go b/routers/web/base.go index af55cb4e97..5a0e528f93 100644 --- a/routers/web/base.go +++ b/routers/web/base.go @@ -130,14 +130,6 @@ func Recovery() func(next http.Handler) http.Handler { log.Error("%v", combinedErr) sessionStore := session.GetSession(req) - if sessionStore == nil { - if setting.IsProd() { - http.Error(w, http.StatusText(500), 500) - } else { - http.Error(w, combinedErr, 500) - } - return - } var lc = middleware.Locale(w, req) var store = dataStore{ diff --git a/routers/web/user/setting/adopt.go b/routers/web/user/setting/adopt.go index b2d918784f..509418717d 100644 --- a/routers/web/user/setting/adopt.go +++ b/routers/web/user/setting/adopt.go @@ -27,7 +27,7 @@ func AdoptOrDeleteRepository(ctx *context.Context) { action := ctx.Query("action") ctxUser := ctx.User - root := filepath.Join(models.UserPath(ctxUser.LowerName)) + root := models.UserPath(ctxUser.LowerName) // check not a repo has, err := models.IsRepositoryExist(ctxUser, dir) diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go index 682f920578..8ea726a499 100644 --- a/routers/web/user/setting/profile.go +++ b/routers/web/user/setting/profile.go @@ -246,7 +246,7 @@ func Repos(ctx *context.Context) { repoNames := make([]string, 0, setting.UI.Admin.UserPagingNum) repos := map[string]*models.Repository{} // We're going to iterate by pagesize. - root := filepath.Join(models.UserPath(ctxUser.Name)) + root := models.UserPath(ctxUser.Name) if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if err != nil { if os.IsNotExist(err) { diff --git a/services/auth/placeholder.go b/services/auth/placeholder.go index 50e3061885..d9a0ceae7c 100644 --- a/services/auth/placeholder.go +++ b/services/auth/placeholder.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build !windows // +build !windows package auth diff --git a/services/pull/check.go b/services/pull/check.go index 1e757ef28b..7d365e1223 100644 --- a/services/pull/check.go +++ b/services/pull/check.go @@ -254,7 +254,7 @@ func CheckPrsForBaseBranch(baseRepo *models.Repository, baseBranchName string) e // Init runs the task queue to test all the checking status pull requests func Init() error { - prQueue = queue.CreateUniqueQueue("pr_patch_checker", handle, "").(queue.UniqueQueue) + prQueue = queue.CreateUniqueQueue("pr_patch_checker", handle, "") if prQueue == nil { return fmt.Errorf("Unable to create pr_patch_checker Queue") diff --git a/services/pull/merge.go b/services/pull/merge.go index 7e6a214b87..8c0eeadd79 100644 --- a/services/pull/merge.go +++ b/services/pull/merge.go @@ -273,8 +273,8 @@ func rawMerge(pr *models.PullRequest, doer *models.User, mergeStyle models.Merge filepath.Join(tmpBasePath, ".git", "rebase-merge", "stopped-sha"), // Git >= 2.26 } for _, failingCommitPath := range failingCommitPaths { - if _, statErr := os.Stat(filepath.Join(failingCommitPath)); statErr == nil { - commitShaBytes, readErr := ioutil.ReadFile(filepath.Join(failingCommitPath)) + if _, statErr := os.Stat(failingCommitPath); statErr == nil { + commitShaBytes, readErr := ioutil.ReadFile(failingCommitPath) if readErr != nil { // Abandon this attempt to handle the error log.Error("git rebase staging on to base [%s:%s -> %s:%s]: %v\n%s\n%s", pr.HeadRepo.FullName(), pr.HeadBranch, pr.BaseRepo.FullName(), pr.BaseBranch, err, outbuf.String(), errbuf.String()) diff --git a/services/repository/push.go b/services/repository/push.go index 26df6b8e45..03e292757a 100644 --- a/services/repository/push.go +++ b/services/repository/push.go @@ -36,7 +36,7 @@ func handle(data ...queue.Data) { } func initPushQueue() error { - pushQueue = queue.CreateQueue("push_update", handle, []*repo_module.PushUpdateOptions{}).(queue.Queue) + pushQueue = queue.CreateQueue("push_update", handle, []*repo_module.PushUpdateOptions{}) if pushQueue == nil { return fmt.Errorf("Unable to create push_update Queue") } diff --git a/tools/fuzz.go b/tools/fuzz.go index ca35ff4f00..2f980b3b89 100644 --- a/tools/fuzz.go +++ b/tools/fuzz.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. +//go:build gofuzz // +build gofuzz package fuzz