Add more linters to improve code readability (#19989)

Add nakedret, unconvert, wastedassign, stylecheck and nolintlint linters to improve code readability

- nakedret - https://github.com/alexkohler/nakedret - nakedret is a Go static analysis tool to find naked returns in functions greater than a specified function length.
- unconvert - https://github.com/mdempsky/unconvert - Remove unnecessary type conversions
- wastedassign - https://github.com/sanposhiho/wastedassign -  wastedassign finds wasted assignment statements.
- notlintlint -  Reports ill-formed or insufficient nolint directives
- stylecheck - https://staticcheck.io/docs/checks/#ST - keep style consistent
  - excluded: [ST1003 - Poorly chosen identifier](https://staticcheck.io/docs/checks/#ST1003) and [ST1005 - Incorrectly formatted error string](https://staticcheck.io/docs/checks/#ST1005)
pull/20031/head^2
Wim 2 years ago committed by GitHub
parent 3289abcefc
commit cb50375e2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      .golangci.yml
  2. 2
      cmd/hook.go
  3. 2
      integrations/api_issue_stopwatch_test.go
  4. 4
      integrations/api_packages_container_test.go
  5. 6
      integrations/editor_test.go
  6. 6
      integrations/git_test.go
  7. 2
      integrations/integration_test.go
  8. 2
      integrations/nonascii_branches_test.go
  9. 4
      integrations/oauth_test.go
  10. 2
      integrations/repo_fork_test.go
  11. 2
      integrations/repo_generate_test.go
  12. 2
      integrations/user_test.go
  13. 2
      models/action.go
  14. 2
      models/admin/notice.go
  15. 2
      models/asymkey/gpg_key_commit_verification.go
  16. 6
      models/asymkey/ssh_key_test.go
  17. 8
      models/auth/oauth2.go
  18. 2
      models/db/engine.go
  19. 2
      models/db/index.go
  20. 2
      models/db/list_options.go
  21. 2
      models/db/sql_postgres_with_schema.go
  22. 8
      models/git/branches.go
  23. 2
      models/git/commit_status.go
  24. 4
      models/issues/assignees.go
  25. 12
      models/issues/comment.go
  26. 14
      models/issues/issue.go
  27. 30
      models/issues/issue_project.go
  28. 2
      models/issues/issue_watch.go
  29. 70
      models/issues/issue_xref.go
  30. 2
      models/issues/pull.go
  31. 20
      models/issues/review.go
  32. 4
      models/issues/stopwatch.go
  33. 8
      models/issues/tracked_time.go
  34. 2
      models/migrations/v143.go
  35. 2
      models/migrations/v180.go
  36. 2
      models/migrations/v189.go
  37. 10
      models/notification.go
  38. 4
      models/organization/team.go
  39. 2
      models/packages/package_version.go
  40. 2
      models/perm/access/repo_permission.go
  41. 4
      models/project/issue.go
  42. 4
      models/release.go
  43. 2
      models/repo.go
  44. 2
      models/repo/archiver.go
  45. 6
      models/repo/repo.go
  46. 2
      models/statistic.go
  47. 2
      models/unit/unit.go
  48. 2
      models/user/search.go
  49. 2
      models/webhook/hooktask.go
  50. 6
      modules/activitypub/client.go
  51. 4
      modules/activitypub/user_settings.go
  52. 2
      modules/base/natural_sort.go
  53. 4
      modules/charset/charset_test.go
  54. 6
      modules/charset/escape.go
  55. 2
      modules/context/api.go
  56. 2
      modules/context/private.go
  57. 4
      modules/context/repo.go
  58. 2
      modules/context/utils.go
  59. 2
      modules/convert/convert.go
  60. 2
      modules/convert/issue.go
  61. 2
      modules/doctor/fix16961.go
  62. 6
      modules/eventsource/event.go
  63. 10
      modules/git/batch_reader.go
  64. 2
      modules/git/blob_nogogit.go
  65. 2
      modules/git/commit.go
  66. 2
      modules/git/commit_info_nogogit.go
  67. 2
      modules/git/diff.go
  68. 2
      modules/git/pipeline/lfs_nogogit.go
  69. 2
      modules/git/repo_attribute.go
  70. 2
      modules/git/repo_base_nogogit.go
  71. 2
      modules/git/repo_branch_nogogit.go
  72. 6
      modules/git/repo_compare.go
  73. 4
      modules/git/repo_compare_test.go
  74. 2
      modules/git/repo_index.go
  75. 2
      modules/git/repo_tag_nogogit.go
  76. 2
      modules/git/sha1_nogogit.go
  77. 2
      modules/git/signature_nogogit.go
  78. 2
      modules/git/utils.go
  79. 2
      modules/gitgraph/graph_test.go
  80. 2
      modules/graceful/context.go
  81. 8
      modules/highlight/highlight.go
  82. 2
      modules/indexer/code/bleve.go
  83. 2
      modules/indexer/code/elastic_search.go
  84. 3
      modules/markup/common/footnote.go
  85. 4
      modules/markup/markdown/markdown.go
  86. 4
      modules/markup/orgmode/orgmode.go
  87. 2
      modules/markup/sanitizer_test.go
  88. 10
      modules/migration/issue.go
  89. 2
      modules/nosql/manager.go
  90. 2
      modules/nosql/manager_leveldb.go
  91. 2
      modules/nosql/manager_redis.go
  92. 2
      modules/packages/multi_hasher.go
  93. 2
      modules/process/manager.go
  94. 2
      modules/process/manager_stacktraces.go
  95. 2
      modules/queue/helper.go
  96. 4
      modules/queue/queue_bytefifo.go
  97. 2
      modules/queue/queue_disk_channel.go
  98. 2
      modules/queue/unique_queue_disk_channel.go
  99. 4
      modules/references/references.go
  100. 2
      modules/repository/hooks.go
  101. Some files were not shown because too many files have changed in this diff Show More

@ -19,6 +19,11 @@ linters:
- revive - revive
- gofumpt - gofumpt
- depguard - depguard
- nakedret
- unconvert
- wastedassign
- nolintlint
- stylecheck
enable-all: false enable-all: false
disable-all: true disable-all: true
fast: false fast: false
@ -32,6 +37,10 @@ run:
- web_src - web_src
linters-settings: linters-settings:
stylecheck:
checks: ["all", "-ST1005", "-ST1003"]
nakedret:
max-func-lines: 0
gocritic: gocritic:
disabled-checks: disabled-checks:
- ifElseChain - ifElseChain

@ -792,7 +792,7 @@ func writeDataPktLine(out io.Writer, data []byte) error {
if err != nil { if err != nil {
return fail("Internal Server Error", "Pkt-Line response failed: %v", err) return fail("Internal Server Error", "Pkt-Line response failed: %v", err)
} }
if 4 != lr { if lr != 4 {
return fail("Internal Server Error", "Pkt-Line response failed: %v", err) return fail("Internal Server Error", "Pkt-Line response failed: %v", err)
} }

@ -38,7 +38,7 @@ func TestAPIListStopWatches(t *testing.T) {
assert.EqualValues(t, issue.Title, apiWatches[0].IssueTitle) assert.EqualValues(t, issue.Title, apiWatches[0].IssueTitle)
assert.EqualValues(t, repo.Name, apiWatches[0].RepoName) assert.EqualValues(t, repo.Name, apiWatches[0].RepoName)
assert.EqualValues(t, repo.OwnerName, apiWatches[0].RepoOwnerName) assert.EqualValues(t, repo.OwnerName, apiWatches[0].RepoOwnerName)
assert.Greater(t, int64(apiWatches[0].Seconds), int64(0)) assert.Greater(t, apiWatches[0].Seconds, int64(0))
} }
} }

@ -88,7 +88,7 @@ func TestPackageContainer(t *testing.T) {
req = NewRequest(t, "GET", fmt.Sprintf("%sv2", setting.AppURL)) req = NewRequest(t, "GET", fmt.Sprintf("%sv2", setting.AppURL))
addTokenAuthHeader(req, anonymousToken) addTokenAuthHeader(req, anonymousToken)
resp = MakeRequest(t, req, http.StatusOK) MakeRequest(t, req, http.StatusOK)
}) })
t.Run("User", func(t *testing.T) { t.Run("User", func(t *testing.T) {
@ -112,7 +112,7 @@ func TestPackageContainer(t *testing.T) {
req = NewRequest(t, "GET", fmt.Sprintf("%sv2", setting.AppURL)) req = NewRequest(t, "GET", fmt.Sprintf("%sv2", setting.AppURL))
addTokenAuthHeader(req, userToken) addTokenAuthHeader(req, userToken)
resp = MakeRequest(t, req, http.StatusOK) MakeRequest(t, req, http.StatusOK)
}) })
}) })

@ -82,7 +82,7 @@ func TestCreateFileOnProtectedBranch(t *testing.T) {
"_csrf": csrf, "_csrf": csrf,
"protected": "off", "protected": "off",
}) })
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
// Check if master branch has been locked successfully // Check if master branch has been locked successfully
flashCookie = session.GetCookie("macaron_flash") flashCookie = session.GetCookie("macaron_flash")
assert.NotNil(t, flashCookie) assert.NotNil(t, flashCookie)
@ -109,7 +109,7 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa
"commit_choice": "direct", "commit_choice": "direct",
}, },
) )
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
// Verify the change // Verify the change
req = NewRequest(t, "GET", path.Join(user, repo, "raw/branch", branch, filePath)) req = NewRequest(t, "GET", path.Join(user, repo, "raw/branch", branch, filePath))
@ -139,7 +139,7 @@ func testEditFileToNewBranch(t *testing.T, session *TestSession, user, repo, bra
"new_branch_name": targetBranch, "new_branch_name": targetBranch,
}, },
) )
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
// Verify the change // Verify the change
req = NewRequest(t, "GET", path.Join(user, repo, "raw/branch", targetBranch, filePath)) req = NewRequest(t, "GET", path.Join(user, repo, "raw/branch", targetBranch, filePath))

@ -150,7 +150,7 @@ func standardCommitAndPushTest(t *testing.T, dstPath string) (little, big string
defer PrintCurrentTest(t)() defer PrintCurrentTest(t)()
little, big = commitAndPushTest(t, dstPath, "data-file-") little, big = commitAndPushTest(t, dstPath, "data-file-")
}) })
return return little, big
} }
func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS string) { func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS string) {
@ -191,7 +191,7 @@ func lfsCommitAndPushTest(t *testing.T, dstPath string) (littleLFS, bigLFS strin
lockTest(t, dstPath) lockTest(t, dstPath)
}) })
}) })
return return littleLFS, bigLFS
} }
func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string) { func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string) {
@ -210,7 +210,7 @@ func commitAndPushTest(t *testing.T, dstPath, prefix string) (little, big string
big = doCommitAndPush(t, bigSize, dstPath, prefix) big = doCommitAndPush(t, bigSize, dstPath, prefix)
}) })
}) })
return return little, big
} }
func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS string) { func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS string) {

@ -438,7 +438,7 @@ func getTokenForLoggedInUser(t testing.TB, session *TestSession) string {
"_csrf": doc.GetCSRF(), "_csrf": doc.GetCSRF(),
"name": fmt.Sprintf("api-testing-token-%d", tokenCounter), "name": fmt.Sprintf("api-testing-token-%d", tokenCounter),
}) })
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
req = NewRequest(t, "GET", "/user/settings/applications") req = NewRequest(t, "GET", "/user/settings/applications")
resp = session.MakeRequest(t, req, http.StatusOK) resp = session.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body) htmlDoc := NewHTMLParser(t, resp.Body)

@ -26,7 +26,7 @@ func testSrcRouteRedirect(t *testing.T, session *TestSession, user, repo, route,
// Perform redirect // Perform redirect
req = NewRequest(t, "GET", location) req = NewRequest(t, "GET", location)
resp = session.MakeRequest(t, req, expectedStatus) session.MakeRequest(t, req, expectedStatus)
} }
func setDefaultBranch(t *testing.T, session *TestSession, user, repo, branch string) { func setDefaultBranch(t *testing.T, session *TestSession, user, repo, branch string) {

@ -197,7 +197,7 @@ func TestAccessTokenExchangeWithBasicAuth(t *testing.T) {
"code_verifier": "N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt", // test PKCE additionally "code_verifier": "N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt", // test PKCE additionally
}) })
req.Header.Add("Authorization", "Basic ZGE3ZGEzYmEtOWExMy00MTY3LTg1NmYtMzg5OWRlMGIwMTM4OmJsYWJsYQ==") req.Header.Add("Authorization", "Basic ZGE3ZGEzYmEtOWExMy00MTY3LTg1NmYtMzg5OWRlMGIwMTM4OmJsYWJsYQ==")
resp = MakeRequest(t, req, http.StatusBadRequest) MakeRequest(t, req, http.StatusBadRequest)
// missing header // missing header
req = NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{ req = NewRequestWithValues(t, "POST", "/login/oauth/access_token", map[string]string{
@ -206,7 +206,7 @@ func TestAccessTokenExchangeWithBasicAuth(t *testing.T) {
"code": "authcode", "code": "authcode",
"code_verifier": "N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt", // test PKCE additionally "code_verifier": "N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt", // test PKCE additionally
}) })
resp = MakeRequest(t, req, http.StatusBadRequest) MakeRequest(t, req, http.StatusBadRequest)
} }
func TestRefreshTokenInvalidation(t *testing.T) { func TestRefreshTokenInvalidation(t *testing.T) {

@ -45,7 +45,7 @@ func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkO
"uid": fmt.Sprintf("%d", forkOwner.ID), "uid": fmt.Sprintf("%d", forkOwner.ID),
"repo_name": forkRepoName, "repo_name": forkRepoName,
}) })
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
// Step4: check the existence of the forked repo // Step4: check the existence of the forked repo
req = NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName) req = NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName)

@ -46,7 +46,7 @@ func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, tem
"repo_name": generateRepoName, "repo_name": generateRepoName,
"git_content": "true", "git_content": "true",
}) })
resp = session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusSeeOther)
// Step4: check the existence of the generated repo // Step4: check the existence of the generated repo
req = NewRequestf(t, "GET", "/%s/%s", generateOwnerName, generateRepoName) req = NewRequestf(t, "GET", "/%s/%s", generateOwnerName, generateRepoName)

@ -245,6 +245,6 @@ func TestListStopWatches(t *testing.T) {
assert.EqualValues(t, issue.Title, apiWatches[0].IssueTitle) assert.EqualValues(t, issue.Title, apiWatches[0].IssueTitle)
assert.EqualValues(t, repo.Name, apiWatches[0].RepoName) assert.EqualValues(t, repo.Name, apiWatches[0].RepoName)
assert.EqualValues(t, repo.OwnerName, apiWatches[0].RepoOwnerName) assert.EqualValues(t, repo.OwnerName, apiWatches[0].RepoOwnerName)
assert.Greater(t, int64(apiWatches[0].Seconds), int64(0)) assert.Greater(t, apiWatches[0].Seconds, int64(0))
} }
} }

@ -459,7 +459,7 @@ func DeleteOldActions(olderThan time.Duration) (err error) {
} }
_, err = db.GetEngine(db.DefaultContext).Where("created_unix < ?", time.Now().Add(-olderThan).Unix()).Delete(&Action{}) _, err = db.GetEngine(db.DefaultContext).Where("created_unix < ?", time.Now().Add(-olderThan).Unix()).Delete(&Action{})
return return err
} }
func notifyWatchers(ctx context.Context, actions ...*Action) error { func notifyWatchers(ctx context.Context, actions ...*Action) error {

@ -142,5 +142,5 @@ func DeleteOldSystemNotices(olderThan time.Duration) (err error) {
} }
_, err = db.GetEngine(db.DefaultContext).Where("created_unix < ?", time.Now().Add(-olderThan).Unix()).Delete(&Notice{}) _, err = db.GetEngine(db.DefaultContext).Where("created_unix < ?", time.Now().Add(-olderThan).Unix()).Delete(&Notice{})
return return err
} }

@ -520,5 +520,5 @@ func CalculateTrustStatus(verification *CommitVerification, repoTrustModel repo_
} }
} }
return return err
} }

@ -317,7 +317,7 @@ func TestFromOpenSSH(t *testing.T) {
td := t.TempDir() td := t.TempDir()
data := []byte("hello, ssh world") data := []byte("hello, ssh world")
dataPath := write(t, []byte(data), td, "data") dataPath := write(t, data, td, "data")
privPath := write(t, []byte(tt.priv), td, "id") privPath := write(t, []byte(tt.priv), td, "id")
write(t, []byte(tt.pub), td, "id.pub") write(t, []byte(tt.pub), td, "id.pub")
@ -372,14 +372,14 @@ func TestToOpenSSH(t *testing.T) {
td := t.TempDir() td := t.TempDir()
data := []byte("hello, ssh world") data := []byte("hello, ssh world")
write(t, []byte(data), td, "data") write(t, data, td, "data")
armored, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file") armored, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
sigPath := write(t, []byte(armored), td, "oursig") sigPath := write(t, armored, td, "oursig")
// Create an allowed_signers file with two keys to check against. // Create an allowed_signers file with two keys to check against.
allowedSigner := "test@rekor.dev " + tt.pub + "\n" allowedSigner := "test@rekor.dev " + tt.pub + "\n"

@ -123,7 +123,7 @@ func GetOAuth2ApplicationByClientID(ctx context.Context, clientID string) (app *
if !has { if !has {
return nil, ErrOAuthClientIDInvalid{ClientID: clientID} return nil, ErrOAuthClientIDInvalid{ClientID: clientID}
} }
return return app, err
} }
// GetOAuth2ApplicationByID returns the oauth2 application with the given id. Returns an error if not found. // GetOAuth2ApplicationByID returns the oauth2 application with the given id. Returns an error if not found.
@ -143,7 +143,7 @@ func GetOAuth2ApplicationByID(ctx context.Context, id int64) (app *OAuth2Applica
func GetOAuth2ApplicationsByUserID(ctx context.Context, userID int64) (apps []*OAuth2Application, err error) { func GetOAuth2ApplicationsByUserID(ctx context.Context, userID int64) (apps []*OAuth2Application, err error) {
apps = make([]*OAuth2Application, 0) apps = make([]*OAuth2Application, 0)
err = db.GetEngine(ctx).Where("uid = ?", userID).Find(&apps) err = db.GetEngine(ctx).Where("uid = ?", userID).Find(&apps)
return return apps, err
} }
// CreateOAuth2ApplicationOptions holds options to create an oauth2 application // CreateOAuth2ApplicationOptions holds options to create an oauth2 application
@ -300,7 +300,7 @@ func (code *OAuth2AuthorizationCode) GenerateRedirectURI(state string) (redirect
} }
q.Set("code", code.Code) q.Set("code", code.Code)
redirect.RawQuery = q.Encode() redirect.RawQuery = q.Encode()
return return redirect, err
} }
// Invalidate deletes the auth code from the database to invalidate this code // Invalidate deletes the auth code from the database to invalidate this code
@ -430,7 +430,7 @@ func GetOAuth2GrantByID(ctx context.Context, id int64) (grant *OAuth2Grant, err
} else if !has { } else if !has {
return nil, nil return nil, nil
} }
return return grant, err
} }
// GetOAuth2GrantsByUserID lists all grants of a certain user // GetOAuth2GrantsByUserID lists all grants of a certain user

@ -285,5 +285,5 @@ func DeleteAllRecords(tableName string) error {
// GetMaxID will return max id of the table // GetMaxID will return max id of the table
func GetMaxID(beanOrTableName interface{}) (maxID int64, err error) { func GetMaxID(beanOrTableName interface{}) (maxID int64, err error) {
_, err = x.Select("MAX(id)").Table(beanOrTableName).Get(&maxID) _, err = x.Select("MAX(id)").Table(beanOrTableName).Get(&maxID)
return return maxID, err
} }

@ -44,7 +44,7 @@ func UpsertResourceIndex(ctx context.Context, tableName string, groupID int64) (
default: default:
return fmt.Errorf("database type not supported") return fmt.Errorf("database type not supported")
} }
return return err
} }
var ( var (

@ -58,7 +58,7 @@ func (opts *ListOptions) GetSkipTake() (skip, take int) {
func (opts *ListOptions) GetStartEnd() (start, end int) { func (opts *ListOptions) GetStartEnd() (start, end int) {
start, take := opts.GetSkipTake() start, take := opts.GetSkipTake()
end = start + take end = start + take
return return start, end
} }
// SetDefaultValues sets default values // SetDefaultValues sets default values

@ -44,7 +44,7 @@ func (d *postgresSchemaDriver) Open(name string) (driver.Conn, error) {
_, err := execer.Exec(`SELECT set_config( _, err := execer.Exec(`SELECT set_config(
'search_path', 'search_path',
$1 || ',' || current_setting('search_path'), $1 || ',' || current_setting('search_path'),
false)`, []driver.Value{schemaValue}) //nolint false)`, []driver.Value{schemaValue})
if err != nil { if err != nil {
_ = conn.Close() _ = conn.Close()
return nil, err return nil, err

@ -363,7 +363,7 @@ func updateApprovalWhitelist(ctx context.Context, repo *repo_model.Repository, c
whitelist = append(whitelist, userID) whitelist = append(whitelist, userID)
} }
return return whitelist, err
} }
// updateUserWhitelist checks whether the user whitelist changed and returns a whitelist with // updateUserWhitelist checks whether the user whitelist changed and returns a whitelist with
@ -392,7 +392,7 @@ func updateUserWhitelist(ctx context.Context, repo *repo_model.Repository, curre
whitelist = append(whitelist, userID) whitelist = append(whitelist, userID)
} }
return return whitelist, err
} }
// updateTeamWhitelist checks whether the team whitelist changed and returns a whitelist with // updateTeamWhitelist checks whether the team whitelist changed and returns a whitelist with
@ -415,7 +415,7 @@ func updateTeamWhitelist(ctx context.Context, repo *repo_model.Repository, curre
} }
} }
return return whitelist, err
} }
// DeleteProtectedBranch removes ProtectedBranch relation between the user and repository. // DeleteProtectedBranch removes ProtectedBranch relation between the user and repository.
@ -539,7 +539,7 @@ func FindRenamedBranch(repoID int64, from string) (branch *RenamedBranch, exist
} }
exist, err = db.GetEngine(db.DefaultContext).Get(branch) exist, err = db.GetEngine(db.DefaultContext).Get(branch)
return return branch, exist, err
} }
// RenameBranch rename a branch // RenameBranch rename a branch

@ -74,7 +74,7 @@ func upsertCommitStatusIndex(ctx context.Context, repoID int64, sha string) (err
default: default:
return fmt.Errorf("database type not supported") return fmt.Errorf("database type not supported")
} }
return return err
} }
// GetNextCommitStatusIndex retried 3 times to generate a resource index // GetNextCommitStatusIndex retried 3 times to generate a resource index

@ -42,7 +42,7 @@ func (issue *Issue) LoadAssignees(ctx context.Context) (err error) {
if len(issue.Assignees) > 0 { if len(issue.Assignees) > 0 {
issue.Assignee = issue.Assignees[0] issue.Assignee = issue.Assignees[0]
} }
return return err
} }
// GetAssigneeIDsByIssue returns the IDs of users assigned to an issue // GetAssigneeIDsByIssue returns the IDs of users assigned to an issue
@ -167,5 +167,5 @@ func MakeIDsFromAPIAssigneesToAdd(oneAssignee string, multipleAssignees []string
// Get the IDs of all assignees // Get the IDs of all assignees
assigneeIDs, err = user_model.GetUserIDsByNames(requestAssignees, false) assigneeIDs, err = user_model.GetUserIDsByNames(requestAssignees, false)
return return assigneeIDs, err
} }

@ -315,7 +315,7 @@ func (c *Comment) LoadIssueCtx(ctx context.Context) (err error) {
return nil return nil
} }
c.Issue, err = GetIssueByID(ctx, c.IssueID) c.Issue, err = GetIssueByID(ctx, c.IssueID)
return return err
} }
// BeforeInsert will be invoked by XORM before inserting a record // BeforeInsert will be invoked by XORM before inserting a record
@ -627,7 +627,7 @@ func (c *Comment) LoadResolveDoer() (err error) {
err = nil err = nil
} }
} }
return return err
} }
// IsResolved check if an code comment is resolved // IsResolved check if an code comment is resolved
@ -955,7 +955,7 @@ func createIssueDependencyComment(ctx context.Context, doer *user_model.User, is
DependentIssueID: issue.ID, DependentIssueID: issue.ID,
} }
_, err = CreateCommentCtx(ctx, opts) _, err = CreateCommentCtx(ctx, opts)
return return err
} }
// CreateCommentOptions defines options for creating comment // CreateCommentOptions defines options for creating comment
@ -1350,7 +1350,7 @@ func CreatePushPullComment(ctx context.Context, pusher *user_model.User, pr *Pul
comment, err = CreateComment(ops) comment, err = CreateComment(ops)
return return comment, err
} }
// CreateAutoMergeComment is a internal function, only use it for CommentTypePRScheduledToAutoMerge and CommentTypePRUnScheduledToAutoMerge CommentTypes // CreateAutoMergeComment is a internal function, only use it for CommentTypePRScheduledToAutoMerge and CommentTypePRUnScheduledToAutoMerge CommentTypes
@ -1372,7 +1372,7 @@ func CreateAutoMergeComment(ctx context.Context, typ CommentType, pr *PullReques
Repo: pr.BaseRepo, Repo: pr.BaseRepo,
Issue: pr.Issue, Issue: pr.Issue,
}) })
return return comment, err
} }
// getCommitsFromRepo get commit IDs from repo in between oldCommitID and newCommitID // getCommitsFromRepo get commit IDs from repo in between oldCommitID and newCommitID
@ -1434,7 +1434,7 @@ func getCommitIDsFromRepo(ctx context.Context, repo *repo_model.Repository, oldC
} }
} }
return return commitIDs, isForcePush, err
} }
type commitBranchCheckItem struct { type commitBranchCheckItem struct {

@ -223,7 +223,7 @@ func (issue *Issue) GetPullRequest() (pr *PullRequest, err error) {
return nil, err return nil, err
} }
pr.Issue = issue pr.Issue = issue
return return pr, err
} }
// LoadLabels loads labels // LoadLabels loads labels
@ -255,7 +255,7 @@ func (issue *Issue) loadPoster(ctx context.Context) (err error) {
return return
} }
} }
return return err
} }
func (issue *Issue) loadPullRequest(ctx context.Context) (err error) { func (issue *Issue) loadPullRequest(ctx context.Context) (err error) {
@ -311,7 +311,7 @@ func (issue *Issue) loadReactions(ctx context.Context) (err error) {
return err return err
} }
// Load reaction user data // Load reaction user data
if _, err := ReactionList(reactions).LoadUsers(ctx, issue.Repo); err != nil { if _, err := reactions.LoadUsers(ctx, issue.Repo); err != nil {
return err return err
} }
@ -2110,7 +2110,7 @@ func updateIssueClosedNum(ctx context.Context, issue *Issue) (err error) {
} else { } else {
err = repo_model.StatsCorrectNumClosed(ctx, issue.RepoID, false, "num_closed_issues") err = repo_model.StatsCorrectNumClosed(ctx, issue.RepoID, false, "num_closed_issues")
} }
return return err
} }
// FindAndUpdateIssueMentions finds users mentioned in the given content string, and saves them in the database. // FindAndUpdateIssueMentions finds users mentioned in the given content string, and saves them in the database.
@ -2123,7 +2123,7 @@ func FindAndUpdateIssueMentions(ctx context.Context, issue *Issue, doer *user_mo
if err = UpdateIssueMentions(ctx, issue.ID, mentions); err != nil { if err = UpdateIssueMentions(ctx, issue.ID, mentions); err != nil {
return nil, fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err) return nil, fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err)
} }
return return mentions, err
} }
// ResolveIssueMentionsByVisibility returns the users mentioned in an issue, removing those that // ResolveIssueMentionsByVisibility returns the users mentioned in an issue, removing those that
@ -2257,7 +2257,7 @@ func ResolveIssueMentionsByVisibility(ctx context.Context, issue *Issue, doer *u
users = append(users, user) users = append(users, user)
} }
return return users, err
} }
// UpdateIssuesMigrationsByType updates all migrated repositories' issues from gitServiceType to replace originalAuthorID to posterID // UpdateIssuesMigrationsByType updates all migrated repositories' issues from gitServiceType to replace originalAuthorID to posterID
@ -2380,7 +2380,7 @@ func DeleteIssuesByRepoID(ctx context.Context, repoID int64) (attachmentPaths []
return return
} }
return return attachmentPaths, err
} }
// RemapExternalUser ExternalUserRemappable interface // RemapExternalUser ExternalUserRemappable interface

@ -14,32 +14,32 @@ import (
) )
// LoadProject load the project the issue was assigned to // LoadProject load the project the issue was assigned to
func (i *Issue) LoadProject() (err error) { func (issue *Issue) LoadProject() (err error) {
return i.loadProject(db.DefaultContext) return issue.loadProject(db.DefaultContext)
} }
func (i *Issue) loadProject(ctx context.Context) (err error) { func (issue *Issue) loadProject(ctx context.Context) (err error) {
if i.Project == nil { if issue.Project == nil {
var p project_model.Project var p project_model.Project
if _, err = db.GetEngine(ctx).Table("project"). if _, err = db.GetEngine(ctx).Table("project").
Join("INNER", "project_issue", "project.id=project_issue.project_id"). Join("INNER", "project_issue", "project.id=project_issue.project_id").
Where("project_issue.issue_id = ?", i.ID). Where("project_issue.issue_id = ?", issue.ID).
Get(&p); err != nil { Get(&p); err != nil {
return err return err
} }
i.Project = &p issue.Project = &p
} }
return return err
} }
// ProjectID return project id if issue was assigned to one // ProjectID return project id if issue was assigned to one
func (i *Issue) ProjectID() int64 { func (issue *Issue) ProjectID() int64 {
return i.projectID(db.DefaultContext) return issue.projectID(db.DefaultContext)
} }
func (i *Issue) projectID(ctx context.Context) int64 { func (issue *Issue) projectID(ctx context.Context) int64 {
var ip project_model.ProjectIssue var ip project_model.ProjectIssue
has, err := db.GetEngine(ctx).Where("issue_id=?", i.ID).Get(&ip) has, err := db.GetEngine(ctx).Where("issue_id=?", issue.ID).Get(&ip)
if err != nil || !has { if err != nil || !has {
return 0 return 0
} }
@ -47,13 +47,13 @@ func (i *Issue) projectID(ctx context.Context) int64 {
} }
// ProjectBoardID return project board id if issue was assigned to one // ProjectBoardID return project board id if issue was assigned to one
func (i *Issue) ProjectBoardID() int64 { func (issue *Issue) ProjectBoardID() int64 {
return i.projectBoardID(db.DefaultContext) return issue.projectBoardID(db.DefaultContext)
} }
func (i *Issue) projectBoardID(ctx context.Context) int64 { func (issue *Issue) projectBoardID(ctx context.Context) int64 {
var ip project_model.ProjectIssue var ip project_model.ProjectIssue
has, err := db.GetEngine(ctx).Where("issue_id=?", i.ID).Get(&ip) has, err := db.GetEngine(ctx).Where("issue_id=?", issue.ID).Get(&ip)
if err != nil || !has { if err != nil || !has {
return 0 return 0
} }

@ -65,7 +65,7 @@ func GetIssueWatch(ctx context.Context, userID, issueID int64) (iw *IssueWatch,
Where("user_id = ?", userID). Where("user_id = ?", userID).
And("issue_id = ?", issueID). And("issue_id = ?", issueID).
Get(iw) Get(iw)
return return iw, exists, err
} }
// CheckIssueWatch check if an user is watching an issue // CheckIssueWatch check if an user is watching an issue

@ -231,46 +231,46 @@ func (issue *Issue) verifyReferencedIssue(stdCtx context.Context, ctx *crossRefe
} }
// AddCrossReferences add cross references // AddCrossReferences add cross references
func (comment *Comment) AddCrossReferences(stdCtx context.Context, doer *user_model.User, removeOld bool) error { func (c *Comment) AddCrossReferences(stdCtx context.Context, doer *user_model.User, removeOld bool) error {
if comment.Type != CommentTypeCode && comment.Type != CommentTypeComment { if c.Type != CommentTypeCode && c.Type != CommentTypeComment {
return nil return nil
} }
if err := comment.LoadIssueCtx(stdCtx); err != nil { if err := c.LoadIssueCtx(stdCtx); err != nil {
return err return err
} }
ctx := &crossReferencesContext{ ctx := &crossReferencesContext{
Type: CommentTypeCommentRef, Type: CommentTypeCommentRef,
Doer: doer, Doer: doer,
OrigIssue: comment.Issue, OrigIssue: c.Issue,
OrigComment: comment, OrigComment: c,
RemoveOld: removeOld, RemoveOld: removeOld,
} }
return comment.Issue.createCrossReferences(stdCtx, ctx, "", comment.Content) return c.Issue.createCrossReferences(stdCtx, ctx, "", c.Content)
} }
func (comment *Comment) neuterCrossReferences(ctx context.Context) error { func (c *Comment) neuterCrossReferences(ctx context.Context) error {
return neuterCrossReferences(ctx, comment.IssueID, comment.ID) return neuterCrossReferences(ctx, c.IssueID, c.ID)
} }
// LoadRefComment loads comment that created this reference from database // LoadRefComment loads comment that created this reference from database
func (comment *Comment) LoadRefComment() (err error) { func (c *Comment) LoadRefComment() (err error) {
if comment.RefComment != nil { if c.RefComment != nil {
return nil return nil
} }
comment.RefComment, err = GetCommentByID(db.DefaultContext, comment.RefCommentID) c.RefComment, err = GetCommentByID(db.DefaultContext, c.RefCommentID)
return return err
} }
// LoadRefIssue loads comment that created this reference from database // LoadRefIssue loads comment that created this reference from database
func (comment *Comment) LoadRefIssue() (err error) { func (c *Comment) LoadRefIssue() (err error) {
if comment.RefIssue != nil { if c.RefIssue != nil {
return nil return nil
} }
comment.RefIssue, err = GetIssueByID(db.DefaultContext, comment.RefIssueID) c.RefIssue, err = GetIssueByID(db.DefaultContext, c.RefIssueID)
if err == nil { if err == nil {
err = comment.RefIssue.LoadRepo(db.DefaultContext) err = c.RefIssue.LoadRepo(db.DefaultContext)
} }
return return err
} }
// CommentTypeIsRef returns true if CommentType is a reference from another issue // CommentTypeIsRef returns true if CommentType is a reference from another issue
@ -279,44 +279,44 @@ func CommentTypeIsRef(t CommentType) bool {
} }
// RefCommentHTMLURL returns the HTML URL for the comment that created this reference // RefCommentHTMLURL returns the HTML URL for the comment that created this reference
func (comment *Comment) RefCommentHTMLURL() string { func (c *Comment) RefCommentHTMLURL() string {
// Edge case for when the reference is inside the title or the description of the referring issue // Edge case for when the reference is inside the title or the description of the referring issue
if comment.RefCommentID == 0 { if c.RefCommentID == 0 {
return comment.RefIssueHTMLURL() return c.RefIssueHTMLURL()
} }
if err := comment.LoadRefComment(); err != nil { // Silently dropping errors :unamused: if err := c.LoadRefComment(); err != nil { // Silently dropping errors :unamused:
log.Error("LoadRefComment(%d): %v", comment.RefCommentID, err) log.Error("LoadRefComment(%d): %v", c.RefCommentID, err)
return "" return ""
} }
return comment.RefComment.HTMLURL() return c.RefComment.HTMLURL()
} }
// RefIssueHTMLURL returns the HTML URL of the issue where this reference was created // RefIssueHTMLURL returns the HTML URL of the issue where this reference was created
func (comment *Comment) RefIssueHTMLURL() string { func (c *Comment) RefIssueHTMLURL() string {
if err := comment.LoadRefIssue(); err != nil { // Silently dropping errors :unamused: if err := c.LoadRefIssue(); err != nil { // Silently dropping errors :unamused:
log.Error("LoadRefIssue(%d): %v", comment.RefCommentID, err) log.Error("LoadRefIssue(%d): %v", c.RefCommentID, err)
return "" return ""
} }
return comment.RefIssue.HTMLURL() return c.RefIssue.HTMLURL()
} }
// RefIssueTitle returns the title of the issue where this reference was created // RefIssueTitle returns the title of the issue where this reference was created
func (comment *Comment) RefIssueTitle() string { func (c *Comment) RefIssueTitle() string {
if err := comment.LoadRefIssue(); err != nil { // Silently dropping errors :unamused: if err := c.LoadRefIssue(); err != nil { // Silently dropping errors :unamused:
log.Error("LoadRefIssue(%d): %v", comment.RefCommentID, err) log.Error("LoadRefIssue(%d): %v", c.RefCommentID, err)
return "" return ""
} }
return comment.RefIssue.Title return c.RefIssue.Title
} }
// RefIssueIdent returns the user friendly identity (e.g. "#1234") of the issue where this reference was created // RefIssueIdent returns the user friendly identity (e.g. "#1234") of the issue where this reference was created
func (comment *Comment) RefIssueIdent() string { func (c *Comment) RefIssueIdent() string {
if err := comment.LoadRefIssue(); err != nil { // Silently dropping errors :unamused: if err := c.LoadRefIssue(); err != nil { // Silently dropping errors :unamused:
log.Error("LoadRefIssue(%d): %v", comment.RefCommentID, err) log.Error("LoadRefIssue(%d): %v", c.RefCommentID, err)
return "" return ""
} }
// FIXME: check this name for cross-repository references (#7901 if it gets merged) // FIXME: check this name for cross-repository references (#7901 if it gets merged)
return fmt.Sprintf("#%d", comment.RefIssue.Index) return fmt.Sprintf("#%d", c.RefIssue.Index)
} }
// __________ .__ .__ __________ __ // __________ .__ .__ __________ __

@ -323,7 +323,7 @@ func (pr *PullRequest) LoadProtectedBranchCtx(ctx context.Context) (err error) {
} }
pr.ProtectedBranch, err = git_model.GetProtectedBranchBy(ctx, pr.BaseRepo.ID, pr.BaseBranch) pr.ProtectedBranch, err = git_model.GetProtectedBranchBy(ctx, pr.BaseRepo.ID, pr.BaseBranch)
} }
return return err
} }
// ReviewCount represents a count of Reviews // ReviewCount represents a count of Reviews

@ -134,7 +134,7 @@ func (r *Review) LoadCodeComments(ctx context.Context) (err error) {
return return
} }
r.CodeComments, err = fetchCodeCommentsByReview(ctx, r.Issue, nil, r) r.CodeComments, err = fetchCodeCommentsByReview(ctx, r.Issue, nil, r)
return return err
} }
func (r *Review) loadIssue(ctx context.Context) (err error) { func (r *Review) loadIssue(ctx context.Context) (err error) {
@ -142,7 +142,7 @@ func (r *Review) loadIssue(ctx context.Context) (err error) {
return return
} }
r.Issue, err = GetIssueByID(ctx, r.IssueID) r.Issue, err = GetIssueByID(ctx, r.IssueID)
return return err
} }
func (r *Review) loadReviewer(ctx context.Context) (err error) { func (r *Review) loadReviewer(ctx context.Context) (err error) {
@ -150,7 +150,7 @@ func (r *Review) loadReviewer(ctx context.Context) (err error) {
return return
} }
r.Reviewer, err = user_model.GetUserByIDCtx(ctx, r.ReviewerID) r.Reviewer, err = user_model.GetUserByIDCtx(ctx, r.ReviewerID)
return return err
} }
func (r *Review) loadReviewerTeam(ctx context.Context) (err error) { func (r *Review) loadReviewerTeam(ctx context.Context) (err error) {
@ -159,7 +159,7 @@ func (r *Review) loadReviewerTeam(ctx context.Context) (err error) {
} }
r.ReviewerTeam, err = organization.GetTeamByID(ctx, r.ReviewerTeamID) r.ReviewerTeam, err = organization.GetTeamByID(ctx, r.ReviewerTeamID)
return return err
} }
// LoadReviewer loads reviewer // LoadReviewer loads reviewer
@ -186,7 +186,7 @@ func (r *Review) LoadAttributes(ctx context.Context) (err error) {
if err = r.loadReviewerTeam(ctx); err != nil { if err = r.loadReviewerTeam(ctx); err != nil {
return return
} }
return return err
} }
// GetReviewByID returns the review by the given ID // GetReviewByID returns the review by the given ID
@ -537,7 +537,7 @@ func GetReviewByIssueIDAndUserID(ctx context.Context, issueID, userID int64) (*R
func GetTeamReviewerByIssueIDAndTeamID(ctx context.Context, issueID, teamID int64) (review *Review, err error) { func GetTeamReviewerByIssueIDAndTeamID(ctx context.Context, issueID, teamID int64) (review *Review, err error) {
review = new(Review) review = new(Review)
has := false var has bool
if has, err = db.GetEngine(ctx).SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND reviewer_team_id = ?)", if has, err = db.GetEngine(ctx).SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND reviewer_team_id = ?)",
issueID, teamID). issueID, teamID).
Get(review); err != nil { Get(review); err != nil {
@ -548,21 +548,21 @@ func GetTeamReviewerByIssueIDAndTeamID(ctx context.Context, issueID, teamID int6
return nil, ErrReviewNotExist{0} return nil, ErrReviewNotExist{0}
} }
return return review, err
} }
// MarkReviewsAsStale marks existing reviews as stale // MarkReviewsAsStale marks existing reviews as stale
func MarkReviewsAsStale(issueID int64) (err error) { func MarkReviewsAsStale(issueID int64) (err error) {
_, err = db.GetEngine(db.DefaultContext).Exec("UPDATE `review` SET stale=? WHERE issue_id=?", true, issueID) _, err = db.GetEngine(db.DefaultContext).Exec("UPDATE `review` SET stale=? WHERE issue_id=?", true, issueID)
return return err
} }
// MarkReviewsAsNotStale marks existing reviews as not stale for a giving commit SHA // MarkReviewsAsNotStale marks existing reviews as not stale for a giving commit SHA
func MarkReviewsAsNotStale(issueID int64, commitID string) (err error) { func MarkReviewsAsNotStale(issueID int64, commitID string) (err error) {
_, err = db.GetEngine(db.DefaultContext).Exec("UPDATE `review` SET stale=? WHERE issue_id=? AND commit_id=?", false, issueID, commitID) _, err = db.GetEngine(db.DefaultContext).Exec("UPDATE `review` SET stale=? WHERE issue_id=? AND commit_id=?", false, issueID, commitID)
return return err
} }
// DismissReview change the dismiss status of a review // DismissReview change the dismiss status of a review
@ -579,7 +579,7 @@ func DismissReview(review *Review, isDismiss bool) (err error) {
_, err = db.GetEngine(db.DefaultContext).ID(review.ID).Cols("dismissed").Update(review) _, err = db.GetEngine(db.DefaultContext).ID(review.ID).Cols("dismissed").Update(review)
return return err
} }
// InsertReviews inserts review and review comments // InsertReviews inserts review and review comments

@ -63,7 +63,7 @@ func getStopwatch(ctx context.Context, userID, issueID int64) (sw *Stopwatch, ex
Where("user_id = ?", userID). Where("user_id = ?", userID).
And("issue_id = ?", issueID). And("issue_id = ?", issueID).
Get(sw) Get(sw)
return return sw, exists, err
} }
// UserIDCount is a simple coalition of UserID and Count // UserIDCount is a simple coalition of UserID and Count
@ -130,7 +130,7 @@ func HasUserStopwatch(ctx context.Context, userID int64) (exists bool, sw *Stopw
exists, err = db.GetEngine(ctx). exists, err = db.GetEngine(ctx).
Where("user_id = ?", userID). Where("user_id = ?", userID).
Get(sw) Get(sw)
return return exists, sw, err
} }
// FinishIssueStopwatchIfPossible if stopwatch exist then finish it otherwise ignore // FinishIssueStopwatchIfPossible if stopwatch exist then finish it otherwise ignore

@ -63,7 +63,7 @@ func (t *TrackedTime) loadAttributes(ctx context.Context) (err error) {
return return
} }
} }
return return err
} }
// LoadAttributes load Issue, User // LoadAttributes load Issue, User
@ -73,7 +73,7 @@ func (tl TrackedTimeList) LoadAttributes() (err error) {
return err return err
} }
} }
return return err
} }
// FindTrackedTimesOptions represent the filters for tracked times. If an ID is 0 it will be ignored. // FindTrackedTimesOptions represent the filters for tracked times. If an ID is 0 it will be ignored.
@ -130,7 +130,7 @@ func (opts *FindTrackedTimesOptions) toSession(e db.Engine) db.Engine {
// GetTrackedTimes returns all tracked times that fit to the given options. // GetTrackedTimes returns all tracked times that fit to the given options.
func GetTrackedTimes(ctx context.Context, options *FindTrackedTimesOptions) (trackedTimes TrackedTimeList, err error) { func GetTrackedTimes(ctx context.Context, options *FindTrackedTimesOptions) (trackedTimes TrackedTimeList, err error) {
err = options.toSession(db.GetEngine(ctx)).Find(&trackedTimes) err = options.toSession(db.GetEngine(ctx)).Find(&trackedTimes)
return return trackedTimes, err
} }
// CountTrackedTimes returns count of tracked times that fit to the given options. // CountTrackedTimes returns count of tracked times that fit to the given options.
@ -291,7 +291,7 @@ func deleteTimes(ctx context.Context, opts FindTrackedTimesOptions) (removedTime
} }
_, err = opts.toSession(db.GetEngine(ctx)).Table("tracked_time").Cols("deleted").Update(&TrackedTime{Deleted: true}) _, err = opts.toSession(db.GetEngine(ctx)).Table("tracked_time").Cols("deleted").Update(&TrackedTime{Deleted: true})
return return removedTime, err
} }
func deleteTime(ctx context.Context, t *TrackedTime) error { func deleteTime(ctx context.Context, t *TrackedTime) error {

@ -48,5 +48,5 @@ func recalculateStars(x *xorm.Engine) (err error) {
log.Debug("recalculate Stars number for all user finished") log.Debug("recalculate Stars number for all user finished")
return return err
} }

@ -66,7 +66,7 @@ func deleteMigrationCredentials(x *xorm.Engine) (err error) {
return return
} }
} }
return return err
} }
func removeCredentials(payload string) (string, error) { func removeCredentials(payload string) (string, error) {

@ -81,7 +81,7 @@ func unwrapLDAPSourceCfg(x *xorm.Engine) error {
} }
err := jsonUnmarshalHandleDoubleEncode([]byte(source.Cfg), &wrapped) err := jsonUnmarshalHandleDoubleEncode([]byte(source.Cfg), &wrapped)
if err != nil { if err != nil {
return fmt.Errorf("failed to unmarshal %s: %w", string(source.Cfg), err) return fmt.Errorf("failed to unmarshal %s: %w", source.Cfg, err)
} }
if wrapped.Source != nil && len(wrapped.Source) > 0 { if wrapped.Source != nil && len(wrapped.Source) > 0 {
bs, err := json.Marshal(wrapped.Source) bs, err := json.Marshal(wrapped.Source)

@ -131,7 +131,7 @@ func (opts *FindNotificationOptions) ToSession(ctx context.Context) *xorm.Sessio
// GetNotifications returns all notifications that fit to the given options. // GetNotifications returns all notifications that fit to the given options.
func GetNotifications(ctx context.Context, options *FindNotificationOptions) (nl NotificationList, err error) { func GetNotifications(ctx context.Context, options *FindNotificationOptions) (nl NotificationList, err error) {
err = options.ToSession(ctx).OrderBy("notification.updated_unix DESC").Find(&nl) err = options.ToSession(ctx).OrderBy("notification.updated_unix DESC").Find(&nl)
return return nl, err
} }
// CountNotifications count all notifications that fit to the given options and ignore pagination. // CountNotifications count all notifications that fit to the given options and ignore pagination.
@ -291,7 +291,7 @@ func getNotificationsByIssueID(ctx context.Context, issueID int64) (notification
err = db.GetEngine(ctx). err = db.GetEngine(ctx).
Where("issue_id = ?", issueID). Where("issue_id = ?", issueID).
Find(&notifications) Find(&notifications)
return return notifications, err
} }
func notificationExists(notifications []*Notification, issueID, userID int64) bool { func notificationExists(notifications []*Notification, issueID, userID int64) bool {
@ -370,7 +370,7 @@ func NotificationsForUser(ctx context.Context, user *user_model.User, statuses [
} }
err = sess.Find(&notifications) err = sess.Find(&notifications)
return return notifications, err
} }
// CountUnread count unread notifications for a user // CountUnread count unread notifications for a user
@ -401,7 +401,7 @@ func (n *Notification) loadAttributes(ctx context.Context) (err error) {
if err = n.loadComment(ctx); err != nil { if err = n.loadComment(ctx); err != nil {
return return
} }
return return err
} }
func (n *Notification) loadRepo(ctx context.Context) (err error) { func (n *Notification) loadRepo(ctx context.Context) (err error) {
@ -730,7 +730,7 @@ func GetNotificationCount(ctx context.Context, user *user_model.User, status Not
Where("user_id = ?", user.ID). Where("user_id = ?", user.ID).
And("status = ?", status). And("status = ?", status).
Count(&Notification{}) Count(&Notification{})
return return count, err
} }
// UserIDCount is a simple coalition of UserID and Count // UserIDCount is a simple coalition of UserID and Count

@ -185,7 +185,7 @@ func (t *Team) GetUnitNames() (res []string) {
for _, u := range t.Units { for _, u := range t.Units {
res = append(res, unit.Units[u.Type].NameKey) res = append(res, unit.Units[u.Type].NameKey)
} }
return return res
} }
// GetUnitsMap returns the team units permissions // GetUnitsMap returns the team units permissions
@ -226,7 +226,7 @@ func (t *Team) GetRepositoriesCtx(ctx context.Context) (err error) {
t.Repos, err = GetTeamRepositories(ctx, &SearchTeamRepoOptions{ t.Repos, err = GetTeamRepositories(ctx, &SearchTeamRepoOptions{
TeamID: t.ID, TeamID: t.ID,
}) })
return return err
} }
// GetMembersCtx returns paginated members in team of organization. // GetMembersCtx returns paginated members in team of organization.

@ -235,7 +235,7 @@ func (opts *PackageSearchOptions) toConds() builder.Cond {
} }
if !opts.HasFiles.IsNone() { if !opts.HasFiles.IsNone() {
var filesCond builder.Cond = builder.Exists(builder.Select("package_file.id").From("package_file").Where(builder.Expr("package_file.version_id = package_version.id"))) filesCond := builder.Exists(builder.Select("package_file.id").From("package_file").Where(builder.Expr("package_file.version_id = package_version.id")))
if opts.HasFiles.IsFalse() { if opts.HasFiles.IsFalse() {
filesCond = builder.Not{filesCond} filesCond = builder.Not{filesCond}

@ -273,7 +273,7 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
} }
} }
return return perm, err
} }
// IsUserRealRepoAdmin check if this user is real repo admin // IsUserRealRepoAdmin check if this user is real repo admin

@ -103,7 +103,7 @@ func MoveIssuesOnProjectBoard(board *Board, sortedIssueIDs map[int64]int64) erro
}) })
} }
func (pb *Board) removeIssues(ctx context.Context) error { func (b *Board) removeIssues(ctx context.Context) error {
_, err := db.GetEngine(ctx).Exec("UPDATE `project_issue` SET project_board_id = 0 WHERE project_board_id = ? ", pb.ID) _, err := db.GetEngine(ctx).Exec("UPDATE `project_issue` SET project_board_id = 0 WHERE project_board_id = ? ", b.ID)
return err return err
} }

@ -132,7 +132,7 @@ func AddReleaseAttachments(ctx context.Context, releaseID int64, attachmentUUIDs
} }
} }
return return err
} }
// GetRelease returns release by given ID. // GetRelease returns release by given ID.
@ -305,7 +305,7 @@ func GetReleaseAttachments(ctx context.Context, rels ...*Release) (err error) {
sortedRels.Rel[currentIndex].Attachments = append(sortedRels.Rel[currentIndex].Attachments, attachment) sortedRels.Rel[currentIndex].Attachments = append(sortedRels.Rel[currentIndex].Attachments, attachment)
} }
return return err
} }
type releaseSorter struct { type releaseSorter struct {

@ -756,7 +756,7 @@ func DoctorUserStarNum() (err error) {
log.Debug("recalculate Stars number for all user finished") log.Debug("recalculate Stars number for all user finished")
return return err
} }
// DeleteDeployKey delete deploy keys // DeleteDeployKey delete deploy keys

@ -112,5 +112,5 @@ func FindRepoArchives(opts FindRepoArchiversOption) ([]*RepoArchiver, error) {
func SetArchiveRepoState(repo *Repository, isArchived bool) (err error) { func SetArchiveRepoState(repo *Repository, isArchived bool) (err error) {
repo.IsArchived = isArchived repo.IsArchived = isArchived
_, err = db.GetEngine(db.DefaultContext).Where("id = ?", repo.ID).Cols("is_archived").NoAutoTime().Update(repo) _, err = db.GetEngine(db.DefaultContext).Where("id = ?", repo.ID).Cols("is_archived").NoAutoTime().Update(repo)
return return err
} }

@ -280,7 +280,7 @@ func (repo *Repository) CommitLink(commitID string) (result string) {
} else { } else {
result = repo.HTMLURL() + "/commit/" + url.PathEscape(commitID) result = repo.HTMLURL() + "/commit/" + url.PathEscape(commitID)
} }
return return result
} }
// APIURL returns the repository API URL // APIURL returns the repository API URL
@ -325,7 +325,7 @@ func (repo *Repository) UnitEnabled(tp unit.Type) (result bool) {
}); err != nil { }); err != nil {
log.Error("repo.UnitEnabled: %v", err) log.Error("repo.UnitEnabled: %v", err)
} }
return return result
} }
// UnitEnabled if this repository has the given unit enabled // UnitEnabled if this repository has the given unit enabled
@ -546,7 +546,7 @@ func (repo *Repository) DescriptionHTML(ctx context.Context) template.HTML {
log.Error("Failed to render description for %s (ID: %d): %v", repo.Name, repo.ID, err) log.Error("Failed to render description for %s (ID: %d): %v", repo.Name, repo.ID, err)
return template.HTML(markup.Sanitize(repo.Description)) return template.HTML(markup.Sanitize(repo.Description))
} }
return template.HTML(markup.Sanitize(string(desc))) return template.HTML(markup.Sanitize(desc))
} }
// CloneLink represents different types of clone URLs of repository. // CloneLink represents different types of clone URLs of repository.

@ -111,5 +111,5 @@ func GetStatistic() (stats Statistic) {
stats.Counter.Attachment, _ = e.Count(new(repo_model.Attachment)) stats.Counter.Attachment, _ = e.Count(new(repo_model.Attachment))
stats.Counter.Project, _ = e.Count(new(project_model.Project)) stats.Counter.Project, _ = e.Count(new(project_model.Project))
stats.Counter.ProjectBoard, _ = e.Count(new(project_model.Board)) stats.Counter.ProjectBoard, _ = e.Count(new(project_model.Board))
return return stats
} }

@ -318,7 +318,7 @@ func FindUnitTypes(nameKeys ...string) (res []Type) {
res = append(res, TypeInvalid) res = append(res, TypeInvalid)
} }
} }
return return res
} }
// TypeFromKey give the unit key name and return unit // TypeFromKey give the unit key name and return unit

@ -59,7 +59,7 @@ func (opts *SearchUserOptions) toSearchQueryBase() *xorm.Session {
} }
if opts.Actor != nil { if opts.Actor != nil {
var exprCond builder.Cond = builder.Expr("org_user.org_id = `user`.id") exprCond := builder.Expr("org_user.org_id = `user`.id")
// If Admin - they see all users! // If Admin - they see all users!
if !opts.Actor.IsAdmin { if !opts.Actor.IsAdmin {

@ -286,7 +286,7 @@ func deleteDeliveredHookTasksByWebhook(hookID int64, numberDeliveriesToKeep int)
Cols("hook_task.delivered"). Cols("hook_task.delivered").
Join("INNER", "webhook", "hook_task.hook_id = webhook.id"). Join("INNER", "webhook", "hook_task.hook_id = webhook.id").
OrderBy("hook_task.delivered desc"). OrderBy("hook_task.delivered desc").
Limit(1, int(numberDeliveriesToKeep)). Limit(1, numberDeliveriesToKeep).
Find(&deliveryDates) Find(&deliveryDates)
if err != nil { if err != nil {
return err return err

@ -92,7 +92,7 @@ func NewClient(user *user_model.User, pubID string) (c *Client, err error) {
priv: privParsed, priv: privParsed,
pubID: pubID, pubID: pubID,
} }
return return c, err
} }
// NewRequest function // NewRequest function
@ -110,7 +110,7 @@ func (c *Client) NewRequest(b []byte, to string) (req *http.Request, err error)
return return
} }
err = signer.SignRequest(c.priv, c.pubID, req, b) err = signer.SignRequest(c.priv, c.pubID, req, b)
return return req, err
} }
// Post function // Post function
@ -120,5 +120,5 @@ func (c *Client) Post(b []byte, to string) (resp *http.Response, err error) {
return return
} }
resp, err = c.client.Do(req) resp, err = c.client.Do(req)
return return resp, err
} }

@ -35,11 +35,11 @@ func GetKeyPair(user *user_model.User) (pub, priv string, err error) {
// GetPublicKey function returns a user's public key // GetPublicKey function returns a user's public key
func GetPublicKey(user *user_model.User) (pub string, err error) { func GetPublicKey(user *user_model.User) (pub string, err error) {
pub, _, err = GetKeyPair(user) pub, _, err = GetKeyPair(user)
return return pub, err
} }
// GetPrivateKey function returns a user's private key // GetPrivateKey function returns a user's private key
func GetPrivateKey(user *user_model.User) (priv string, err error) { func GetPrivateKey(user *user_model.User) (priv string, err error) {
_, priv, err = GetKeyPair(user) _, priv, err = GetKeyPair(user)
return return priv, err
} }

@ -55,7 +55,7 @@ func isDecimal(r rune) bool {
} }
func compareByNumbers(str1 string, pos1 int, str2 string, pos2 int) (i1, i2 int, less, equal bool) { func compareByNumbers(str1 string, pos1 int, str2 string, pos2 int) (i1, i2 int, less, equal bool) {
var d1, d2 bool = true, true d1, d2 := true, true
var dec1, dec2 string var dec1, dec2 string
for d1 || d2 { for d1 || d2 {
if d1 { if d1 {

@ -296,11 +296,11 @@ func TestDetectEncoding(t *testing.T) {
} }
func stringMustStartWith(t *testing.T, expected, value string) { func stringMustStartWith(t *testing.T, expected, value string) {
assert.Equal(t, expected, string(value[:len(expected)])) assert.Equal(t, expected, value[:len(expected)])
} }
func stringMustEndWith(t *testing.T, expected, value string) { func stringMustEndWith(t *testing.T, expected, value string) {
assert.Equal(t, expected, string(value[len(value)-len(expected):])) assert.Equal(t, expected, value[len(value)-len(expected):])
} }
func bytesMustStartWith(t *testing.T, expected, value []byte) { func bytesMustStartWith(t *testing.T, expected, value []byte) {

@ -222,15 +222,15 @@ readingloop:
return return
} }
escaped.HasError = true escaped.HasError = true
return return escaped, err
} }
func writeBroken(output io.Writer, bs []byte) (err error) { func writeBroken(output io.Writer, bs []byte) (err error) {
_, err = fmt.Fprintf(output, `<span class="broken-code-point">&lt;%X&gt;</span>`, bs) _, err = fmt.Fprintf(output, `<span class="broken-code-point">&lt;%X&gt;</span>`, bs)
return return err
} }
func writeEscaped(output io.Writer, r rune) (err error) { func writeEscaped(output io.Writer, r rune) (err error) {
_, err = fmt.Fprintf(output, `<span class="escaped-code-point" data-escaped="[U+%04X]"><span class="char">%c</span></span>`, r, r) _, err = fmt.Fprintf(output, `<span class="escaped-code-point" data-escaped="[U+%04X]"><span class="char">%c</span></span>`, r, r)
return return err
} }

@ -340,7 +340,7 @@ func ReferencesGitRepo(allowEmpty ...bool) func(ctx *APIContext) (cancel context
} }
} }
return return cancel
} }
} }

@ -82,5 +82,5 @@ func PrivateContexter() func(http.Handler) http.Handler {
func OverrideContext(ctx *PrivateContext) (cancel context.CancelFunc) { func OverrideContext(ctx *PrivateContext) (cancel context.CancelFunc) {
// We now need to override the request context as the base for our work because even if the request is cancelled we have to continue this work // We now need to override the request context as the base for our work because even if the request is cancelled we have to continue this work
ctx.Override, _, cancel = process.GetManager().AddTypedContext(graceful.GetManager().HammerContext(), fmt.Sprintf("PrivateContext: %s", ctx.Req.RequestURI), process.RequestProcessType, true) ctx.Override, _, cancel = process.GetManager().AddTypedContext(graceful.GetManager().HammerContext(), fmt.Sprintf("PrivateContext: %s", ctx.Req.RequestURI), process.RequestProcessType, true)
return return cancel
} }

@ -734,7 +734,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) {
ctx.Data["GoDocDirectory"] = prefix + "{/dir}" ctx.Data["GoDocDirectory"] = prefix + "{/dir}"
ctx.Data["GoDocFile"] = prefix + "{/dir}/{file}#L{line}" ctx.Data["GoDocFile"] = prefix + "{/dir}/{file}#L{line}"
} }
return return cancel
} }
// RepoRefType type of repo reference // RepoRefType type of repo reference
@ -1001,7 +1001,7 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context
return return
} }
ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount
return return cancel
} }
} }

@ -52,5 +52,5 @@ func parseTime(value string) (int64, error) {
func prepareQueryArg(ctx *Context, name string) (value string, err error) { func prepareQueryArg(ctx *Context, name string) (value string, err error) {
value, err = url.PathUnescape(ctx.FormString(name)) value, err = url.PathUnescape(ctx.FormString(name))
value = strings.TrimSpace(value) value = strings.TrimSpace(value)
return return value, err
} }

@ -257,7 +257,7 @@ func ToHook(repoLink string, w *webhook.Webhook) *api.Hook {
return &api.Hook{ return &api.Hook{
ID: w.ID, ID: w.ID,
Type: string(w.Type), Type: w.Type,
URL: fmt.Sprintf("%s/settings/hooks/%d", repoLink, w.ID), URL: fmt.Sprintf("%s/settings/hooks/%d", repoLink, w.ID),
Active: w.IsActive, Active: w.IsActive,
Config: config, Config: config,

@ -123,7 +123,7 @@ func ToTrackedTime(t *issues_model.TrackedTime) (apiT *api.TrackedTime) {
if t.User != nil { if t.User != nil {
apiT.UserName = t.User.Name apiT.UserName = t.User.Name
} }
return return apiT
} }
// ToStopWatches convert Stopwatch list to api.StopWatches // ToStopWatches convert Stopwatch list to api.StopWatches

@ -216,7 +216,7 @@ func fixBrokenRepoUnit16961(repoUnit *repo_model.RepoUnit, bs []byte) (fixed boo
return false, nil return false, nil
} }
switch unit.Type(repoUnit.Type) { switch repoUnit.Type {
case unit.TypeCode, unit.TypeReleases, unit.TypeWiki, unit.TypeProjects: case unit.TypeCode, unit.TypeReleases, unit.TypeWiki, unit.TypeProjects:
cfg := &repo_model.UnitConfig{} cfg := &repo_model.UnitConfig{}
repoUnit.Config = cfg repoUnit.Config = cfg

@ -18,7 +18,7 @@ func wrapNewlines(w io.Writer, prefix, value []byte) (sum int64, err error) {
if len(value) == 0 { if len(value) == 0 {
return return
} }
n := 0 var n int
last := 0 last := 0
for j := bytes.IndexByte(value, '\n'); j > -1; j = bytes.IndexByte(value[last:], '\n') { for j := bytes.IndexByte(value, '\n'); j > -1; j = bytes.IndexByte(value[last:], '\n') {
n, err = w.Write(prefix) n, err = w.Write(prefix)
@ -45,7 +45,7 @@ func wrapNewlines(w io.Writer, prefix, value []byte) (sum int64, err error) {
} }
n, err = w.Write([]byte("\n")) n, err = w.Write([]byte("\n"))
sum += int64(n) sum += int64(n)
return return sum, err
} }
// Event is an eventsource event, not all fields need to be set // Event is an eventsource event, not all fields need to be set
@ -64,7 +64,7 @@ type Event struct {
// The return value n is the number of bytes written. Any error encountered during the write is also returned. // The return value n is the number of bytes written. Any error encountered during the write is also returned.
func (e *Event) WriteTo(w io.Writer) (int64, error) { func (e *Event) WriteTo(w io.Writer) (int64, error) {
sum := int64(0) sum := int64(0)
nint := 0 var nint int
n, err := wrapNewlines(w, []byte("event: "), []byte(e.Name)) n, err := wrapNewlines(w, []byte("event: "), []byte(e.Name))
sum += n sum += n
if err != nil { if err != nil {

@ -176,12 +176,12 @@ func ReadBatchLine(rd *bufio.Reader) (sha []byte, typ string, size int64, err er
typ = typ[:idx] typ = typ[:idx]
size, err = strconv.ParseInt(sizeStr, 10, 64) size, err = strconv.ParseInt(sizeStr, 10, 64)
return return sha, typ, size, err
} }
// ReadTagObjectID reads a tag object ID hash from a cat-file --batch stream, throwing away the rest of the stream. // ReadTagObjectID reads a tag object ID hash from a cat-file --batch stream, throwing away the rest of the stream.
func ReadTagObjectID(rd *bufio.Reader, size int64) (string, error) { func ReadTagObjectID(rd *bufio.Reader, size int64) (string, error) {
id := "" var id string
var n int64 var n int64
headerLoop: headerLoop:
for { for {
@ -216,7 +216,7 @@ headerLoop:
// ReadTreeID reads a tree ID from a cat-file --batch stream, throwing away the rest of the stream. // ReadTreeID reads a tree ID from a cat-file --batch stream, throwing away the rest of the stream.
func ReadTreeID(rd *bufio.Reader, size int64) (string, error) { func ReadTreeID(rd *bufio.Reader, size int64) (string, error) {
id := "" var id string
var n int64 var n int64
headerLoop: headerLoop:
for { for {
@ -328,7 +328,7 @@ func ParseTreeLine(rd *bufio.Reader, modeBuf, fnameBuf, shaBuf []byte) (mode, fn
// Deal with the 20-byte SHA // Deal with the 20-byte SHA
idx = 0 idx = 0
for idx < 20 { for idx < 20 {
read := 0 var read int
read, err = rd.Read(shaBuf[idx:20]) read, err = rd.Read(shaBuf[idx:20])
n += read n += read
if err != nil { if err != nil {
@ -337,7 +337,7 @@ func ParseTreeLine(rd *bufio.Reader, modeBuf, fnameBuf, shaBuf []byte) (mode, fn
idx += read idx += read
} }
sha = shaBuf sha = shaBuf
return return mode, fname, sha, n, err
} }
var callerPrefix string var callerPrefix string

@ -99,7 +99,7 @@ func (b *blobReader) Read(p []byte) (n int, err error) {
} }
n, err = b.rd.Read(p) n, err = b.rd.Read(p)
b.n -= int64(n) b.n -= int64(n)
return return n, err
} }
// Close implements io.Closer // Close implements io.Closer

@ -418,7 +418,7 @@ func (c *Commit) LoadBranchName() (err error) {
} }
c.Branch, err = c.GetBranchName() c.Branch, err = c.GetBranchName()
return return err
} }
// GetTagName gets the current tag name for given commit // GetTagName gets the current tag name for given commit

@ -157,7 +157,7 @@ func GetLastCommitForPaths(ctx context.Context, cache *LastCommitCache, commit *
if typ != "commit" { if typ != "commit" {
return nil, fmt.Errorf("unexpected type: %s for commit id: %s", typ, commitID) return nil, fmt.Errorf("unexpected type: %s for commit id: %s", typ, commitID)
} }
c, err = CommitFromReader(commit.repo, MustIDFromString(string(commitID)), io.LimitReader(batchReader, int64(size))) c, err = CommitFromReader(commit.repo, MustIDFromString(commitID), io.LimitReader(batchReader, size))
if err != nil { if err != nil {
return nil, err return nil, err
} }

@ -115,7 +115,7 @@ func ParseDiffHunkString(diffhunk string) (leftLine, leftHunk, rightLine, righHu
rightLine = leftLine rightLine = leftLine
righHunk = leftHunk righHunk = leftHunk
} }
return return leftLine, leftHunk, rightLine, righHunk
} }
// Example: @@ -1,8 +1,9 @@ => [..., 1, 8, 1, 9] // Example: @@ -1,8 +1,9 @@ => [..., 1, 8, 1, 9]

@ -116,7 +116,7 @@ func FindLFSFile(repo *git.Repository, hash git.SHA1) ([]*LFSResult, error) {
continue continue
case "commit": case "commit":
// Read in the commit to get its tree and in case this is one of the last used commits // Read in the commit to get its tree and in case this is one of the last used commits
curCommit, err = git.CommitFromReader(repo, git.MustIDFromString(string(commitID)), io.LimitReader(batchReader, int64(size))) curCommit, err = git.CommitFromReader(repo, git.MustIDFromString(string(commitID)), io.LimitReader(batchReader, size))
if err != nil { if err != nil {
return nil, err return nil, err
} }

@ -334,7 +334,7 @@ func (wr *lineSeparatedAttributeWriter) Write(p []byte) (n int, err error) {
wr.tmp = []byte(remaining[3:]) wr.tmp = []byte(remaining[3:])
break break
} }
return l, fmt.Errorf("unexpected tail %s", string(remaining)) return l, fmt.Errorf("unexpected tail %s", remaining)
} }
_, _ = sb.WriteRune(rn) _, _ = sb.WriteRune(rn)
remaining = tail remaining = tail

@ -101,5 +101,5 @@ func (repo *Repository) Close() (err error) {
repo.checkReader = nil repo.checkReader = nil
repo.checkWriter = nil repo.checkWriter = nil
} }
return return err
} }

@ -95,7 +95,7 @@ func callShowRef(ctx context.Context, repoPath, prefix, arg string, skip, limit
return nil return nil
}) })
return return branchNames, countAll, err
} }
func walkShowRef(ctx context.Context, repoPath, arg string, skip, limit int, walkfn func(sha1, refname string) error) (countAll int, err error) { func walkShowRef(ctx context.Context, repoPath, arg string, skip, limit int, walkfn func(sha1, refname string) error) (countAll int, err error) {

@ -132,7 +132,7 @@ type lineCountWriter struct {
func (l *lineCountWriter) Write(p []byte) (n int, err error) { func (l *lineCountWriter) Write(p []byte) (n int, err error) {
n = len(p) n = len(p)
l.numLines += bytes.Count(p, []byte{'\000'}) l.numLines += bytes.Count(p, []byte{'\000'})
return return n, err
} }
// GetDiffNumChangedFiles counts the number of changed files // GetDiffNumChangedFiles counts the number of changed files
@ -177,7 +177,7 @@ func (repo *Repository) GetDiffShortStat(base, head string) (numFiles, totalAddi
if err != nil && strings.Contains(err.Error(), "no merge base") { if err != nil && strings.Contains(err.Error(), "no merge base") {
return GetDiffShortStat(repo.Ctx, repo.Path, base, head) return GetDiffShortStat(repo.Ctx, repo.Path, base, head)
} }
return return numFiles, totalAdditions, totalDeletions, err
} }
// GetDiffShortStat counts number of changed files, number of additions and deletions // GetDiffShortStat counts number of changed files, number of additions and deletions
@ -231,7 +231,7 @@ func parseDiffStat(stdout string) (numFiles, totalAdditions, totalDeletions int,
return 0, 0, 0, fmt.Errorf("unable to parse shortstat: %s. Error parsing NumDeletions %v", stdout, err) return 0, 0, 0, fmt.Errorf("unable to parse shortstat: %s. Error parsing NumDeletions %v", stdout, err)
} }
} }
return return numFiles, totalAdditions, totalDeletions, err
} }
// GetDiffOrPatch generates either diff or formatted patch data between given revisions // GetDiffOrPatch generates either diff or formatted patch data between given revisions

@ -117,8 +117,8 @@ func TestReadWritePullHead(t *testing.T) {
return return
} }
assert.Len(t, string(headContents), 40) assert.Len(t, headContents, 40)
assert.True(t, string(headContents) == newCommit) assert.True(t, headContents == newCommit)
// Remove file after the test // Remove file after the test
err = repo.RemoveReference(PullPrefix + "1/head") err = repo.RemoveReference(PullPrefix + "1/head")

@ -64,7 +64,7 @@ func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (filename, tmpD
defer cancel() defer cancel()
return "", "", func() {}, err return "", "", func() {}, err
} }
return return filename, tmpDir, cancel, err
} }
// EmptyIndex empties the index // EmptyIndex empties the index

@ -27,7 +27,7 @@ func (repo *Repository) IsTagExist(name string) bool {
// returning at most limit tags, or all if limit is 0. // returning at most limit tags, or all if limit is 0.
func (repo *Repository) GetTags(skip, limit int) (tags []string, err error) { func (repo *Repository) GetTags(skip, limit int) (tags []string, err error) {
tags, _, err = callShowRef(repo.Ctx, repo.Path, TagPrefix, "--tags", skip, limit) tags, _, err = callShowRef(repo.Ctx, repo.Path, TagPrefix, "--tags", skip, limit)
return return tags, err
} }
// GetTagType gets the type of the tag, either commit (simple) or tag (annotated) // GetTagType gets the type of the tag, either commit (simple) or tag (annotated)

@ -58,5 +58,5 @@ func NewHasher(t ObjectType, size int64) Hasher {
// Sum generates a SHA1 for the provided hash // Sum generates a SHA1 for the provided hash
func (h Hasher) Sum() (sha1 SHA1) { func (h Hasher) Sum() (sha1 SHA1) {
copy(sha1[:], h.Hash.Sum(nil)) copy(sha1[:], h.Hash.Sum(nil))
return return sha1
} }

@ -91,5 +91,5 @@ func newSignatureFromCommitline(line []byte) (sig *Signature, err error) {
return return
} }
} }
return return sig, err
} }

@ -163,7 +163,7 @@ func (l *LimitedReaderCloser) Read(p []byte) (n int, err error) {
} }
n, err = l.R.Read(p) n, err = l.R.Read(p)
l.N -= int64(n) l.N -= int64(n)
return return n, err
} }
// Close implements io.Closer // Close implements io.Closer

@ -53,7 +53,7 @@ func BenchmarkParseGlyphs(b *testing.B) {
parser := &Parser{} parser := &Parser{}
parser.Reset() parser.Reset()
tgBytes := []byte(testglyphs) tgBytes := []byte(testglyphs)
tg := tgBytes var tg []byte
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
parser.Reset() parser.Reset()
tg = tgBytes tg = tgBytes

@ -26,7 +26,7 @@ func NewChannelContext(done <-chan struct{}, err error) *ChannelContext {
// Deadline returns the time when work done on behalf of this context // Deadline returns the time when work done on behalf of this context
// should be canceled. There is no Deadline for a ChannelContext // should be canceled. There is no Deadline for a ChannelContext
func (ctx *ChannelContext) Deadline() (deadline time.Time, ok bool) { func (ctx *ChannelContext) Deadline() (deadline time.Time, ok bool) {
return return deadline, ok
} }
// Done returns the channel provided at the creation of this context. // Done returns the channel provided at the creation of this context.

@ -114,7 +114,7 @@ func CodeFromLexer(lexer chroma.Lexer, code string) string {
htmlbuf := bytes.Buffer{} htmlbuf := bytes.Buffer{}
htmlw := bufio.NewWriter(&htmlbuf) htmlw := bufio.NewWriter(&htmlbuf)
iterator, err := lexer.Tokenise(nil, string(code)) iterator, err := lexer.Tokenise(nil, code)
if err != nil { if err != nil {
log.Error("Can't tokenize code: %v", err) log.Error("Can't tokenize code: %v", err)
return code return code
@ -197,7 +197,7 @@ func File(numLines int, fileName, language string, code []byte) []string {
m := make([]string, 0, numLines) m := make([]string, 0, numLines)
for _, v := range strings.SplitN(htmlbuf.String(), "\n", numLines) { for _, v := range strings.SplitN(htmlbuf.String(), "\n", numLines) {
content := string(v) content := v
// need to keep lines that are only \n so copy/paste works properly in browser // need to keep lines that are only \n so copy/paste works properly in browser
if content == "" { if content == "" {
content = "\n" content = "\n"
@ -220,8 +220,8 @@ func File(numLines int, fileName, language string, code []byte) []string {
// return unhiglighted map // return unhiglighted map
func plainText(code string, numLines int) []string { func plainText(code string, numLines int) []string {
m := make([]string, 0, numLines) m := make([]string, 0, numLines)
for _, v := range strings.SplitN(string(code), "\n", numLines) { for _, v := range strings.SplitN(code, "\n", numLines) {
content := string(v) content := v
// need to keep lines that are only \n so copy/paste works properly in browser // need to keep lines that are only \n so copy/paste works properly in browser
if content == "" { if content == "" {
content = "\n" content = "\n"

@ -392,7 +392,7 @@ func (b *BleveIndexer) Search(ctx context.Context, repoIDs []int64, language, ke
searchResults := make([]*SearchResult, len(result.Hits)) searchResults := make([]*SearchResult, len(result.Hits))
for i, hit := range result.Hits { for i, hit := range result.Hits {
var startIndex, endIndex int = -1, -1 startIndex, endIndex := -1, -1
for _, locations := range hit.Locations["Content"] { for _, locations := range hit.Locations["Content"] {
location := locations[0] location := locations[0]
locationStart := int(location.Start) locationStart := int(location.Start)

@ -348,7 +348,7 @@ func convertResult(searchResult *elastic.SearchResult, kw string, pageSize int)
// FIXME: There is no way to get the position the keyword on the content currently on the same request. // FIXME: There is no way to get the position the keyword on the content currently on the same request.
// So we get it from content, this may made the query slower. See // So we get it from content, this may made the query slower. See
// https://discuss.elastic.co/t/fetching-position-of-keyword-in-matched-document/94291 // https://discuss.elastic.co/t/fetching-position-of-keyword-in-matched-document/94291
var startIndex, endIndex int = -1, -1 var startIndex, endIndex int
c, ok := hit.Highlight["content"] c, ok := hit.Highlight["content"]
if ok && len(c) > 0 { if ok && len(c) > 0 {
// FIXME: Since the highlighting content will include <em> and </em> for the keywords, // FIXME: Since the highlighting content will include <em> and </em> for the keywords,

@ -203,9 +203,8 @@ func (b *footnoteBlockParser) Open(parent ast.Node, reader text.Reader, pc parse
return nil, parser.NoChildren return nil, parser.NoChildren
} }
open := pos + 1 open := pos + 1
closes := 0
closure := util.FindClosure(line[pos+1:], '[', ']', false, false) //nolint closure := util.FindClosure(line[pos+1:], '[', ']', false, false) //nolint
closes = pos + 1 + closure closes := pos + 1 + closure
next := closes + 1 next := closes + 1
if closure > -1 { if closure > -1 {
if next >= len(line) || line[next] != ':' { if next >= len(line) || line[next] != ':' {

@ -156,7 +156,7 @@ func actualRender(ctx *markup.RenderContext, input io.Reader, output io.Writer)
log.Warn("Unable to render markdown due to panic in goldmark: %v", err) log.Warn("Unable to render markdown due to panic in goldmark: %v", err)
if log.IsDebug() { if log.IsDebug() {
log.Debug("Panic in markdown: %v\n%s", err, string(log.Stack(2))) log.Debug("Panic in markdown: %v\n%s", err, log.Stack(2))
} }
}() }()
@ -185,7 +185,7 @@ func render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error
log.Warn("Unable to render markdown due to panic in goldmark - will return raw bytes") log.Warn("Unable to render markdown due to panic in goldmark - will return raw bytes")
if log.IsDebug() { if log.IsDebug() {
log.Debug("Panic in markdown: %v\n%s", err, string(log.Stack(2))) log.Debug("Panic in markdown: %v\n%s", err, log.Stack(2))
} }
_, err = io.Copy(output, input) _, err = io.Copy(output, input)
if err != nil { if err != nil {

@ -75,7 +75,7 @@ func Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error
if lexer == nil { if lexer == nil {
// include language-x class as part of commonmark spec // include language-x class as part of commonmark spec
if _, err := w.WriteString(`<code class="chroma language-` + string(lang) + `">`); err != nil { if _, err := w.WriteString(`<code class="chroma language-` + lang + `">`); err != nil {
return "" return ""
} }
if _, err := w.WriteString(html.EscapeString(source)); err != nil { if _, err := w.WriteString(html.EscapeString(source)); err != nil {
@ -83,7 +83,7 @@ func Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error
} }
} else { } else {
// include language-x class as part of commonmark spec // include language-x class as part of commonmark spec
if _, err := w.WriteString(`<code class="chroma language-` + string(lang) + `">`); err != nil { if _, err := w.WriteString(`<code class="chroma language-` + lang + `">`); err != nil {
return "" return ""
} }
lexer = chroma.Coalesce(lexer) lexer = chroma.Coalesce(lexer)

@ -55,7 +55,7 @@ func Test_Sanitizer(t *testing.T) {
func TestSanitizeNonEscape(t *testing.T) { func TestSanitizeNonEscape(t *testing.T) {
descStr := "<scrİpt>&lt;script&gt;alert(document.domain)&lt;/script&gt;</scrİpt>" descStr := "<scrİpt>&lt;script&gt;alert(document.domain)&lt;/script&gt;</scrİpt>"
output := template.HTML(Sanitize(string(descStr))) output := template.HTML(Sanitize(descStr))
if strings.Contains(string(output), "<script>") { if strings.Contains(string(output), "<script>") {
t.Errorf("un-escaped <script> in output: %q", output) t.Errorf("un-escaped <script> in output: %q", output)
} }

@ -30,11 +30,11 @@ type Issue struct {
} }
// GetExternalName ExternalUserMigrated interface // GetExternalName ExternalUserMigrated interface
func (i *Issue) GetExternalName() string { return i.PosterName } func (issue *Issue) GetExternalName() string { return issue.PosterName }
// GetExternalID ExternalUserMigrated interface // GetExternalID ExternalUserMigrated interface
func (i *Issue) GetExternalID() int64 { return i.PosterID } func (issue *Issue) GetExternalID() int64 { return issue.PosterID }
func (i *Issue) GetLocalIndex() int64 { return i.Number } func (issue *Issue) GetLocalIndex() int64 { return issue.Number }
func (i *Issue) GetForeignIndex() int64 { return i.ForeignIndex } func (issue *Issue) GetForeignIndex() int64 { return issue.ForeignIndex }
func (i *Issue) GetContext() DownloaderContext { return i.Context } func (issue *Issue) GetContext() DownloaderContext { return issue.Context }

@ -75,5 +75,5 @@ func valToTimeDuration(vs []string) (result time.Duration) {
return return
} }
} }
return return result
} }

@ -72,7 +72,7 @@ func (m *Manager) GetLevelDB(connection string) (db *leveldb.DB, err error) {
if recovered != nil { if recovered != nil {
panic(recovered) panic(recovered)
} }
return return db, err
} }
func (m *Manager) getLevelDB(connection string) (*leveldb.DB, error) { func (m *Manager) getLevelDB(connection string) (*leveldb.DB, error) {

@ -65,7 +65,7 @@ func (m *Manager) GetRedisClient(connection string) (client redis.UniversalClien
if recovered != nil { if recovered != nil {
panic(recovered) panic(recovered)
} }
return return client
} }
func (m *Manager) getRedisClient(connection string) redis.UniversalClient { func (m *Manager) getRedisClient(connection string) redis.UniversalClient {

@ -119,5 +119,5 @@ func (h *MultiHasher) Sums() (hashMD5, hashSHA1, hashSHA256, hashSHA512 []byte)
hashSHA1 = h.sha1.Sum(nil) hashSHA1 = h.sha1.Sum(nil)
hashSHA256 = h.sha256.Sum(nil) hashSHA256 = h.sha256.Sum(nil)
hashSHA512 = h.sha512.Sum(nil) hashSHA512 = h.sha512.Sum(nil)
return return hashMD5, hashSHA1, hashSHA256, hashSHA512
} }

@ -183,7 +183,7 @@ func (pm *Manager) nextPID() (start time.Time, pid IDType) {
return return
} }
pid = IDType(string(pid) + "-" + strconv.FormatInt(pm.next, 10)) pid = IDType(string(pid) + "-" + strconv.FormatInt(pm.next, 10))
return return start, pid
} }
// Remove a process from the ProcessManager. // Remove a process from the ProcessManager.

@ -120,7 +120,7 @@ func (pm *Manager) ProcessStacktraces(flat, noSystem bool) ([]*Process, int, int
// We cannot use the pm.ProcessMap here because we will release the mutex ... // We cannot use the pm.ProcessMap here because we will release the mutex ...
processMap := map[IDType]*Process{} processMap := map[IDType]*Process{}
processCount := 0 var processCount int
// Lock the manager // Lock the manager
pm.mutex.Lock() pm.mutex.Lock()

@ -74,7 +74,7 @@ func unmarshalAs(bs []byte, exemplar interface{}) (data Data, err error) {
} else { } else {
err = json.Unmarshal(bs, &data) err = json.Unmarshal(bs, &data)
} }
return return data, err
} }
// assignableTo will check if provided data is assignable to the same type as the exemplar // assignableTo will check if provided data is assignable to the same type as the exemplar

@ -73,7 +73,7 @@ func NewByteFIFOQueue(typ Type, byteFIFO ByteFIFO, handle HandlerFunc, cfg, exem
failed = append(failed, fail) failed = append(failed, fail)
} }
} }
return return failed
}, config.WorkerPoolConfiguration) }, config.WorkerPoolConfiguration)
return q, nil return q, nil
@ -401,7 +401,7 @@ func NewByteFIFOUniqueQueue(typ Type, byteFIFO UniqueByteFIFO, handle HandlerFun
failed = append(failed, fail) failed = append(failed, fail)
} }
} }
return return failed
}, config.WorkerPoolConfiguration) }, config.WorkerPoolConfiguration)
return q, nil return q, nil

@ -62,7 +62,7 @@ func NewPersistableChannelQueue(handle HandlerFunc, cfg, exemplar interface{}) (
failed = append(failed, fail) failed = append(failed, fail)
} }
} }
return return failed
} }
channelQueue, err := NewChannelQueue(wrappedHandle, ChannelQueueConfiguration{ channelQueue, err := NewChannelQueue(wrappedHandle, ChannelQueueConfiguration{

@ -62,7 +62,7 @@ func NewPersistableChannelUniqueQueue(handle HandlerFunc, cfg, exemplar interfac
failed = append(failed, fail) failed = append(failed, fail)
} }
} }
return return failed
} }
channelUniqueQueue, err := NewChannelUniqueQueue(wrappedHandle, ChannelUniqueQueueConfiguration{ channelUniqueQueue, err := NewChannelUniqueQueue(wrappedHandle, ChannelUniqueQueueConfiguration{

@ -379,7 +379,7 @@ func FindRenderizableReferenceAlphanumeric(content string) (bool, *RenderizableR
action, location := findActionKeywords([]byte(content), match[2]) action, location := findActionKeywords([]byte(content), match[2])
return true, &RenderizableReference{ return true, &RenderizableReference{
Issue: string(content[match[2]:match[3]]), Issue: content[match[2]:match[3]],
RefLocation: &RefSpan{Start: match[2], End: match[3]}, RefLocation: &RefSpan{Start: match[2], End: match[3]},
Action: action, Action: action,
ActionLocation: location, ActionLocation: location,
@ -506,7 +506,7 @@ func getCrossReference(content []byte, start, end int, fromLink, prOnly bool) *r
} }
repo := string(content[start : start+sep]) repo := string(content[start : start+sep])
issue := string(content[start+sep+1 : end]) issue := string(content[start+sep+1 : end])
index, err := strconv.ParseInt(string(issue), 10, 64) index, err := strconv.ParseInt(issue, 10, 64)
if err != nil { if err != nil {
return nil return nil
} }

@ -104,7 +104,7 @@ done
giteaHookTpls = append(giteaHookTpls, "") giteaHookTpls = append(giteaHookTpls, "")
} }
return return hookNames, hookTpls, giteaHookTpls
} }
// CreateDelegateHooks creates all the hooks scripts for the repo // CreateDelegateHooks creates all the hooks scripts for the repo

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save