Skip to content

Commit b5cc5eb

Browse files
committed
Merge branch 'main' into fix-access-expensive
2 parents df0f304 + 0b847f4 commit b5cc5eb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+385
-302
lines changed

.golangci.yml

Lines changed: 150 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,173 @@
1+
version: "2"
2+
output:
3+
sort-order:
4+
- file
15
linters:
2-
enable-all: false
3-
disable-all: true
4-
fast: false
6+
default: none
57
enable:
68
- bidichk
79
- depguard
810
- dupl
911
- errcheck
1012
- forbidigo
1113
- gocritic
12-
- gofmt
13-
- gofumpt
14-
- gosimple
1514
- govet
1615
- ineffassign
1716
- nakedret
1817
- nolintlint
1918
- revive
2019
- staticcheck
21-
- stylecheck
2220
- testifylint
23-
- typecheck
2421
- unconvert
25-
- unused
2622
- unparam
23+
- unused
2724
- usetesting
2825
- wastedassign
29-
30-
run:
31-
timeout: 10m
32-
33-
output:
34-
sort-results: true
35-
sort-order: [file]
36-
show-stats: true
37-
38-
linters-settings:
39-
testifylint:
40-
disable:
41-
- go-require
42-
- require-error
43-
stylecheck:
44-
checks: ["all", "-ST1005", "-ST1003"]
45-
nakedret:
46-
max-func-lines: 0
47-
gocritic:
48-
disabled-checks:
49-
- ifElseChain
50-
- singleCaseSwitch # Every time this occurred in the code, there was no other way.
51-
revive:
52-
severity: error
53-
rules:
54-
- name: atomic
55-
- name: bare-return
56-
- name: blank-imports
57-
- name: constant-logical-expr
58-
- name: context-as-argument
59-
- name: context-keys-type
60-
- name: dot-imports
61-
- name: duplicated-imports
62-
- name: empty-lines
63-
- name: error-naming
64-
- name: error-return
65-
- name: error-strings
66-
- name: errorf
67-
- name: exported
68-
- name: identical-branches
69-
- name: if-return
70-
- name: increment-decrement
71-
- name: indent-error-flow
72-
- name: modifies-value-receiver
73-
- name: package-comments
74-
- name: range
75-
- name: receiver-naming
76-
- name: redefines-builtin-id
77-
- name: string-of-int
78-
- name: superfluous-else
79-
- name: time-naming
80-
- name: unconditional-recursion
81-
- name: unexported-return
82-
- name: unreachable-code
83-
- name: var-declaration
84-
- name: var-naming
85-
gofumpt:
86-
extra-rules: true
87-
depguard:
26+
settings:
27+
depguard:
28+
rules:
29+
main:
30+
deny:
31+
- pkg: encoding/json
32+
desc: use gitea's modules/json instead of encoding/json
33+
- pkg: github.com/unknwon/com
34+
desc: use gitea's util and replacements
35+
- pkg: io/ioutil
36+
desc: use os or io instead
37+
- pkg: golang.org/x/exp
38+
desc: it's experimental and unreliable
39+
- pkg: code.gitea.io/gitea/modules/git/internal
40+
desc: do not use the internal package, use AddXxx function instead
41+
- pkg: gopkg.in/ini.v1
42+
desc: do not use the ini package, use gitea's config system instead
43+
- pkg: gitea.com/go-chi/cache
44+
desc: do not use the go-chi cache package, use gitea's cache system
45+
gocritic:
46+
disabled-checks:
47+
- ifElseChain
48+
- singleCaseSwitch # Every time this occurred in the code, there was no other way.
49+
revive:
50+
severity: error
51+
rules:
52+
- name: atomic
53+
- name: bare-return
54+
- name: blank-imports
55+
- name: constant-logical-expr
56+
- name: context-as-argument
57+
- name: context-keys-type
58+
- name: dot-imports
59+
- name: duplicated-imports
60+
- name: empty-lines
61+
- name: error-naming
62+
- name: error-return
63+
- name: error-strings
64+
- name: errorf
65+
- name: exported
66+
- name: identical-branches
67+
- name: if-return
68+
- name: increment-decrement
69+
- name: indent-error-flow
70+
- name: modifies-value-receiver
71+
- name: package-comments
72+
- name: range
73+
- name: receiver-naming
74+
- name: redefines-builtin-id
75+
- name: string-of-int
76+
- name: superfluous-else
77+
- name: time-naming
78+
- name: unconditional-recursion
79+
- name: unexported-return
80+
- name: unreachable-code
81+
- name: var-declaration
82+
- name: var-naming
83+
staticcheck:
84+
checks:
85+
- all
86+
- -ST1003
87+
- -ST1005
88+
- -QF1001
89+
- -QF1006
90+
- -QF1008
91+
testifylint:
92+
disable:
93+
- go-require
94+
- require-error
95+
- equal-values
96+
- empty
97+
- formatter
98+
- len
99+
usetesting:
100+
os-temp-dir: true
101+
exclusions:
102+
generated: lax
103+
presets:
104+
- comments
105+
- common-false-positives
106+
- legacy
107+
- std-error-handling
88108
rules:
89-
main:
90-
deny:
91-
- pkg: encoding/json
92-
desc: use gitea's modules/json instead of encoding/json
93-
- pkg: github.com/unknwon/com
94-
desc: use gitea's util and replacements
95-
- pkg: io/ioutil
96-
desc: use os or io instead
97-
- pkg: golang.org/x/exp
98-
desc: it's experimental and unreliable
99-
- pkg: code.gitea.io/gitea/modules/git/internal
100-
desc: do not use the internal package, use AddXxx function instead
101-
- pkg: gopkg.in/ini.v1
102-
desc: do not use the ini package, use gitea's config system instead
103-
- pkg: gitea.com/go-chi/cache
104-
desc: do not use the go-chi cache package, use gitea's cache system
105-
usetesting:
106-
os-temp-dir: true
107-
109+
- linters:
110+
- dupl
111+
- errcheck
112+
- gocyclo
113+
- gosec
114+
- staticcheck
115+
- unparam
116+
path: _test\.go
117+
- linters:
118+
- dupl
119+
- errcheck
120+
- gocyclo
121+
- gosec
122+
path: models/migrations/v
123+
- linters:
124+
- forbidigo
125+
path: cmd
126+
- linters:
127+
- dupl
128+
text: (?i)webhook
129+
- linters:
130+
- gocritic
131+
text: (?i)`ID' should not be capitalized
132+
- linters:
133+
- deadcode
134+
- unused
135+
text: (?i)swagger
136+
- linters:
137+
- staticcheck
138+
text: (?i)argument x is overwritten before first use
139+
- linters:
140+
- gocritic
141+
text: '(?i)commentFormatting: put a space between `//` and comment text'
142+
- linters:
143+
- gocritic
144+
text: '(?i)exitAfterDefer:'
145+
paths:
146+
- node_modules
147+
- public
148+
- web_src
149+
- third_party$
150+
- builtin$
151+
- examples$
108152
issues:
109153
max-issues-per-linter: 0
110154
max-same-issues: 0
111-
exclude-dirs: [node_modules, public, web_src]
112-
exclude-case-sensitive: true
113-
exclude-rules:
114-
- path: _test\.go
115-
linters:
116-
- gocyclo
117-
- errcheck
118-
- dupl
119-
- gosec
120-
- unparam
121-
- staticcheck
122-
- path: models/migrations/v
123-
linters:
124-
- gocyclo
125-
- errcheck
126-
- dupl
127-
- gosec
128-
- path: cmd
129-
linters:
130-
- forbidigo
131-
- text: "webhook"
132-
linters:
133-
- dupl
134-
- text: "`ID' should not be capitalized"
135-
linters:
136-
- gocritic
137-
- text: "swagger"
138-
linters:
139-
- unused
140-
- deadcode
141-
- text: "argument x is overwritten before first use"
142-
linters:
143-
- staticcheck
144-
- text: "commentFormatting: put a space between `//` and comment text"
145-
linters:
146-
- gocritic
147-
- text: "exitAfterDefer:"
148-
linters:
149-
- gocritic
155+
formatters:
156+
enable:
157+
- gofmt
158+
- gofumpt
159+
settings:
160+
gofumpt:
161+
extra-rules: true
162+
exclusions:
163+
generated: lax
164+
paths:
165+
- node_modules
166+
- public
167+
- web_src
168+
- third_party$
169+
- builtin$
170+
- examples$
171+
172+
run:
173+
timeout: 10m

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ XGO_VERSION := go-1.24.x
2828
AIR_PACKAGE ?= github.com/air-verse/air@v1
2929
EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@v3.2.1
3030
GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.7.0
31-
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.7
31+
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.0.2
3232
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.12
3333
MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.6.0
3434
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0

cmd/doctor.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,12 @@ func setupDoctorDefaultLogger(ctx *cli.Context, colorize bool) {
144144
setupConsoleLogger(log.FATAL, log.CanColorStderr, os.Stderr)
145145

146146
logFile := ctx.String("log-file")
147-
if logFile == "" {
147+
switch logFile {
148+
case "":
148149
return // if no doctor log-file is set, do not show any log from default logger
149-
} else if logFile == "-" {
150+
case "-":
150151
setupConsoleLogger(log.TRACE, colorize, os.Stdout)
151-
} else {
152+
default:
152153
logFile, _ = filepath.Abs(logFile)
153154
writeMode := log.WriterMode{Level: log.TRACE, WriterOption: log.WriterFileOption{FileName: logFile}}
154155
writer, err := log.NewEventWriter("console-to-file", "file", writeMode)

models/actions/runner.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,10 @@ func (r *ActionRunner) BelongsToOwnerType() types.OwnerType {
8686
return types.OwnerTypeRepository
8787
}
8888
if r.OwnerID != 0 {
89-
if r.Owner.Type == user_model.UserTypeOrganization {
89+
switch r.Owner.Type {
90+
case user_model.UserTypeOrganization:
9091
return types.OwnerTypeOrganization
91-
} else if r.Owner.Type == user_model.UserTypeIndividual {
92+
case user_model.UserTypeIndividual:
9293
return types.OwnerTypeIndividual
9394
}
9495
}

models/db/engine_init.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ func newXORMEngine() (*xorm.Engine, error) {
4242
if err != nil {
4343
return nil, err
4444
}
45-
if setting.Database.Type == "mysql" {
45+
switch setting.Database.Type {
46+
case "mysql":
4647
engine.Dialect().SetParams(map[string]string{"rowFormat": "DYNAMIC"})
47-
} else if setting.Database.Type == "mssql" {
48+
case "mssql":
4849
engine.Dialect().SetParams(map[string]string{"DEFAULT_VARCHAR": "nvarchar"})
4950
}
5051
engine.SetSchema(setting.Database.Schema)

models/repo/repo.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -425,32 +425,33 @@ func (repo *Repository) MustGetUnit(ctx context.Context, tp unit.Type) *RepoUnit
425425
return ru
426426
}
427427

428-
if tp == unit.TypeExternalWiki {
428+
switch tp {
429+
case unit.TypeExternalWiki:
429430
return &RepoUnit{
430431
Type: tp,
431432
Config: new(ExternalWikiConfig),
432433
}
433-
} else if tp == unit.TypeExternalTracker {
434+
case unit.TypeExternalTracker:
434435
return &RepoUnit{
435436
Type: tp,
436437
Config: new(ExternalTrackerConfig),
437438
}
438-
} else if tp == unit.TypePullRequests {
439+
case unit.TypePullRequests:
439440
return &RepoUnit{
440441
Type: tp,
441442
Config: new(PullRequestsConfig),
442443
}
443-
} else if tp == unit.TypeIssues {
444+
case unit.TypeIssues:
444445
return &RepoUnit{
445446
Type: tp,
446447
Config: new(IssuesConfig),
447448
}
448-
} else if tp == unit.TypeActions {
449+
case unit.TypeActions:
449450
return &RepoUnit{
450451
Type: tp,
451452
Config: new(ActionsConfig),
452453
}
453-
} else if tp == unit.TypeProjects {
454+
case unit.TypeProjects:
454455
cfg := new(ProjectsConfig)
455456
cfg.ProjectsMode = ProjectsModeNone
456457
return &RepoUnit{

models/unittest/fscopy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func SyncFile(srcPath, destPath string) error {
2828
}
2929

3030
if src.Size() == dest.Size() &&
31-
src.ModTime() == dest.ModTime() &&
31+
src.ModTime().Equal(dest.ModTime()) &&
3232
src.Mode() == dest.Mode() {
3333
return nil
3434
}

0 commit comments

Comments
 (0)