GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.6.0
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.57.2
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11
-MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.4.1
+MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.5.1
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@db51e79a0e37c572d8b59ae0c58bf2bbbbe53285
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1
.PHONY: lint-spell
lint-spell:
- @go run $(MISSPELL_PACKAGE) -error $(SPELLCHECK_FILES)
+ @go run $(MISSPELL_PACKAGE) -dict tools/misspellings.csv -error $(SPELLCHECK_FILES)
.PHONY: lint-spell-fix
lint-spell-fix:
- @go run $(MISSPELL_PACKAGE) -w $(SPELLCHECK_FILES)
+ @go run $(MISSPELL_PACKAGE) -dict tools/misspellings.csv -w $(SPELLCHECK_FILES)
.PHONY: lint-go
lint-go:
| actions_log | actions_log/ |
| actions_artifacts | actions_artifacts/ |
-And bucket, basepath or `SERVE_DIRECT` could be special or overrided, if you want to use a different you can:
+And bucket, basepath or `SERVE_DIRECT` could be special or overridden, if you want to use a different you can:
```ini
[storage.actions_log]
// InsertRun inserts a run
func InsertRun(ctx context.Context, run *ActionRun, jobs []*jobparser.SingleWorkflow) error {
- ctx, commiter, err := db.TxContext(ctx)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
- defer commiter.Close()
+ defer committer.Close()
index, err := db.GetNextResourceIndex(ctx, "action_run_index", run.RepoID)
if err != nil {
}
}
- return commiter.Commit()
+ return committer.Commit()
}
func GetRunByID(ctx context.Context, id int64) (*ActionRun, error) {
}
func CreateTaskForRunner(ctx context.Context, runner *ActionRunner) (*ActionTask, bool, error) {
- ctx, commiter, err := db.TxContext(ctx)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return nil, false, err
}
- defer commiter.Close()
+ defer committer.Close()
e := db.GetEngine(ctx)
task.Job = job
- if err := commiter.Commit(); err != nil {
+ if err := committer.Commit(); err != nil {
return nil, false, err
}
stepStates[v.Id] = v
}
- ctx, commiter, err := db.TxContext(ctx)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return nil, err
}
- defer commiter.Close()
+ defer committer.Close()
e := db.GetEngine(ctx)
}
}
- if err := commiter.Commit(); err != nil {
+ if err := committer.Commit(); err != nil {
return nil, err
}
// ActionTasksVersion
// If both ownerID and repoID is zero, its scope is global.
-// If ownerID is not zero and repoID is zero, its scope is org (there is no user-level runner currrently).
+// If ownerID is not zero and repoID is zero, its scope is org (there is no user-level runner currently).
// If ownerID is zero and repoID is not zero, its scope is repo.
type ActionTasksVersion struct {
ID int64 `xorm:"pk autoincr"`
}
func IncreaseTaskVersion(ctx context.Context, ownerID, repoID int64) error {
- ctx, commiter, err := db.TxContext(ctx)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
- defer commiter.Close()
+ defer committer.Close()
// 1. increase global
if err := increaseTasksVersionByScope(ctx, 0, 0); err != nil {
}
}
- return commiter.Commit()
+ return committer.Commit()
}
-
id: 1
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 2
index: 2
head_repo_id: 1
-
id: 2
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 3
index: 3
head_repo_id: 1
-
id: 3
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 8
index: 1
head_repo_id: 11
-
id: 4
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 9
index: 1
head_repo_id: 48
-
id: 5 # this PR is outdated (one commit behind branch1 )
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 11
index: 5
head_repo_id: 1
-
id: 6
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 12
index: 2
head_repo_id: 3
-
id: 7
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 19
index: 1
head_repo_id: 58
-
id: 8
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 20
index: 1
head_repo_id: 23
-
id: 9
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 21
index: 1
head_repo_id: 60
-
id: 10
type: 0 # gitea pull request
- status: 2 # mergable
+ status: 2 # mergeable
issue_id: 22
index: 1
head_repo_id: 61
// Mergeable returns if the pullrequest is mergeable.
func (pr *PullRequest) Mergeable(ctx context.Context) bool {
- // If a pull request isn't mergable if it's:
+ // If a pull request isn't mergeable if it's:
// - Being conflict checked.
// - Has a conflict.
// - Received a error while being conflict checked.
Issue: issue,
Repo: issue.Repo,
Doer: user,
- // Content before v1.21 did store the formated string instead of seconds,
- // so use "|" as delimeter to mark the new format
+ // Content before v1.21 did store the formatted string instead of seconds,
+ // so use "|" as delimiter to mark the new format
Content: fmt.Sprintf("|%d", amount),
Type: CommentTypeAddTimeManual,
TimeID: t.ID,
Issue: issue,
Repo: issue.Repo,
Doer: user,
- // Content before v1.21 did store the formated string instead of seconds,
- // so use "|" as delimeter to mark the new format
+ // Content before v1.21 did store the formatted string instead of seconds,
+ // so use "|" as delimiter to mark the new format
Content: fmt.Sprintf("|%d", removedTime),
Type: CommentTypeDeleteTimeManual,
}); err != nil {
Issue: t.Issue,
Repo: t.Issue.Repo,
Doer: t.User,
- // Content before v1.21 did store the formated string instead of seconds,
- // so use "|" as delimeter to mark the new format
+ // Content before v1.21 did store the formatted string instead of seconds,
+ // so use "|" as delimiter to mark the new format
Content: fmt.Sprintf("|%d", t.Time),
Type: CommentTypeDeleteTimeManual,
}); err != nil {
package v1_17 //nolint
// This migration added non-ideal indices to the action table which on larger datasets slowed things down
-// it has been superceded by v218.go
+// it has been superseded by v218.go
}
// RefType returns the simple ref type of the reference, e.g. branch, tag
-// It's differrent from RefGroup, which is using the name of the directory under .git/refs
+// It's different from RefGroup, which is using the name of the directory under .git/refs
// Here we using branch but not heads, using tag but not tags
func (ref RefName) RefType() string {
var refType string
//
// Most processes will not need to use the cancel function but there will be cases whereby you want to cancel the process but not immediately remove it from the
// process table.
-func (pm *Manager) AddContextTimeout(parent context.Context, timeout time.Duration, description string) (ctx context.Context, cancel context.CancelFunc, finshed FinishedFunc) {
+func (pm *Manager) AddContextTimeout(parent context.Context, timeout time.Duration, description string) (ctx context.Context, cancel context.CancelFunc, finished FinishedFunc) {
if timeout <= 0 {
// it's meaningless to use timeout <= 0, and it must be a bug! so we must panic here to tell developers to make the timeout correct
panic("the timeout must be greater than zero, otherwise the context will be cancelled immediately")
ctx, cancel = context.WithTimeout(parent, timeout)
- ctx, _, finshed = pm.Add(ctx, description, cancel, NormalProcessType, true)
+ ctx, _, finished = pm.Add(ctx, description, cancel, NormalProcessType, true)
- return ctx, cancel, finshed
+ return ctx, cancel, finished
}
// Add create a new process
test("Multiple\n---\n-------\n---\nSeparators",
"Multiple\n",
"\n-------\n---\nSeparators")
- test("Insuficient\n--\nSeparators",
+ test("Insufficient\n--\nSeparators",
"",
- "Insuficient\n--\nSeparators")
+ "Insufficient\n--\nSeparators")
}
func TestJSEscapeSafe(t *testing.T) {
})
}
-// comfirmUploadArtifact comfirm upload artifact.
+// comfirmUploadArtifact confirm upload artifact.
// if all chunks are uploaded, merge them to one file.
func (ar artifactRoutes) comfirmUploadArtifact(ctx *ArtifactContext) {
_, runID, ok := validateRunID(ctx)
uuid := request.Header().Get(uuidHeaderKey)
token := request.Header().Get(tokenHeaderKey)
// TODO: version will be removed from request header after Gitea 1.20 released.
- // And Gitea will not try to read version from reuqest header
+ // And Gitea will not try to read version from request header
version := request.Header().Get(versionHeaderKey)
runner, err := actions_model.GetRunnerByUUID(ctx, uuid)
cols := []string{"last_online"}
// TODO: version will be removed from request header after Gitea 1.20 released.
- // And Gitea will not try to read version from reuqest header
+ // And Gitea will not try to read version from request header
version, _ = util.SplitStringAtByteN(version, 64)
if !util.IsEmptyString(version) && runner.Version != version {
runner.Version = version
## Models
-Every package registry implementation uses the same underlaying models:
+Every package registry implementation uses the same underlying models:
| Model | Description |
| - | - |
"code.gitea.io/gitea/services/context"
)
-// RegistrationToken is response related to registeration token
+// RegistrationToken is response related to registration token
// swagger:response RegistrationToken
type RegistrationToken struct {
Token string `json:"token"`
})
return
}
- log.Error("Unable to check if mergable: protected branch %s in %-v and pr #%d. Error: %v", ctx.opts.UserID, branchName, repo, pr.Index, err)
+ log.Error("Unable to check if mergeable: protected branch %s in %-v and pr #%d. Error: %v", ctx.opts.UserID, branchName, repo, pr.Index, err)
ctx.JSON(http.StatusInternalServerError, private.Response{
Err: fmt.Sprintf("Unable to get status of pull request %d. Error: %v", ctx.opts.PullRequestID, err),
})
explore.RenderUserSearch(ctx, &user_model.SearchUserOptions{
Actor: ctx.Doer,
Type: user_model.UserTypeOrganization,
- IncludeReserved: true, // administrator needs to list all acounts include reserved
+ IncludeReserved: true, // administrator needs to list all accounts include reserved
ListOptions: db.ListOptions{
PageSize: setting.UI.Admin.OrgPagingNum,
},
IsRestricted: util.OptionalBoolParse(statusFilterMap["is_restricted"]),
IsTwoFactorEnabled: util.OptionalBoolParse(statusFilterMap["is_2fa_enabled"]),
IsProhibitLogin: util.OptionalBoolParse(statusFilterMap["is_prohibit_login"]),
- IncludeReserved: true, // administrator needs to list all acounts include reserved, bot, remote ones
+ IncludeReserved: true, // administrator needs to list all accounts include reserved, bot, remote ones
ExtraParamStrings: extraParamStrings,
}, tplUsers)
}
// applicable if you have one commit to compare and that commit has a message.
// In that case the commit message will be prepend to the template body.
if templateContent, ok := ctx.Data[pullRequestTemplateKey].(string); ok && templateContent != "" {
- // Re-use the same key as that's priortized over the "content" key.
+ // Re-use the same key as that's prioritized over the "content" key.
// Add two new lines between the content to ensure there's always at least
// one empty line between them.
ctx.Data[pullRequestTemplateKey] = content + "\n\n" + templateContent
// drop error since times could be pruned from DB..
_ = comment.LoadTime(ctx)
if comment.Content != "" {
- // Content before v1.21 did store the formated string instead of seconds,
- // so "|" is used as delimeter to mark the new format
+ // Content before v1.21 did store the formatted string instead of seconds,
+ // so "|" is used as delimiter to mark the new format
if comment.Content[0] != '|' {
// handle old time comments that have formatted text stored
comment.RenderedContent = templates.SanitizeHTML(comment.Content)
c.Type == issues_model.CommentTypeStopTracking ||
c.Type == issues_model.CommentTypeDeleteTimeManual) &&
c.Content[0] == '|' {
- // TimeTracking Comments from v1.21 on store the seconds instead of an formated string
- // so we check for the "|" delimeter and convert new to legacy format on demand
+ // TimeTracking Comments from v1.21 on store the seconds instead of an formatted string
+ // so we check for the "|" delimiter and convert new to legacy format on demand
c.Content = util.SecToTime(c.Content[1:])
}
}
return comment, teamReviewRequestNotify(ctx, issue, doer, reviewer, isAdd, comment)
}
-func ReviewRequestNotify(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, reviewNotifers []*ReviewRequestNotifier) {
- for _, reviewNotifer := range reviewNotifers {
- if reviewNotifer.Reviwer != nil {
- notify_service.PullRequestReviewRequest(ctx, issue.Poster, issue, reviewNotifer.Reviwer, reviewNotifer.IsAdd, reviewNotifer.Comment)
- } else if reviewNotifer.ReviewTeam != nil {
- if err := teamReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifer.ReviewTeam, reviewNotifer.IsAdd, reviewNotifer.Comment); err != nil {
+func ReviewRequestNotify(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, reviewNotifiers []*ReviewRequestNotifier) {
+ for _, reviewNotifier := range reviewNotifiers {
+ if reviewNotifier.Reviewer != nil {
+ notify_service.PullRequestReviewRequest(ctx, issue.Poster, issue, reviewNotifier.Reviewer, reviewNotifier.IsAdd, reviewNotifier.Comment)
+ } else if reviewNotifier.ReviewTeam != nil {
+ if err := teamReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifier.ReviewTeam, reviewNotifier.IsAdd, reviewNotifier.Comment); err != nil {
log.Error("teamReviewRequestNotify: %v", err)
}
}
return err
}
- var reviewNotifers []*ReviewRequestNotifier
+ var reviewNotifiers []*ReviewRequestNotifier
if issue.IsPull && issues_model.HasWorkInProgressPrefix(oldTitle) && !issues_model.HasWorkInProgressPrefix(title) {
var err error
- reviewNotifers, err = PullRequestCodeOwnersReview(ctx, issue, issue.PullRequest)
+ reviewNotifiers, err = PullRequestCodeOwnersReview(ctx, issue, issue.PullRequest)
if err != nil {
log.Error("PullRequestCodeOwnersReview: %v", err)
}
}
notify_service.IssueChangeTitle(ctx, doer, issue, oldTitle)
- ReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifers)
+ ReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifiers)
return nil
}
type ReviewRequestNotifier struct {
Comment *issues_model.Comment
IsAdd bool
- Reviwer *user_model.User
+ Reviewer *user_model.User
ReviewTeam *org_model.Team
}
return nil, err
}
notifiers = append(notifiers, &ReviewRequestNotifier{
- Comment: comment,
- IsAdd: true,
- Reviwer: u,
+ Comment: comment,
+ IsAdd: true,
+ Reviewer: u,
})
}
}
// DeleteOrganization completely and permanently deletes everything of organization.
func DeleteOrganization(ctx context.Context, org *org_model.Organization, purge bool) error {
- ctx, commiter, err := db.TxContext(ctx)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
- defer commiter.Close()
+ defer committer.Close()
if purge {
err := repo_service.DeleteOwnerRepositoriesDirectly(ctx, org.AsUser())
return fmt.Errorf("DeleteOrganization: %w", err)
}
- if err := commiter.Commit(); err != nil {
+ if err := committer.Commit(); err != nil {
return err
}
MergeCheckTypeAuto // Auto Merge (Scheduled Merge) After Checks Succeed
)
-// CheckPullMergable check if the pull mergable based on all conditions (branch protection, merge options, ...)
+// CheckPullMergable check if the pull mergeable based on all conditions (branch protection, merge options, ...)
func CheckPullMergable(stdCtx context.Context, doer *user_model.User, perm *access_model.Permission, pr *issues_model.PullRequest, mergeCheckType MergeCheckType, adminSkipProtectionCheck bool) error {
return db.WithTx(stdCtx, func(ctx context.Context) error {
if pr.HasMerged {
return commitIDs, isForcePush, err
}
- // Find commits between new and old commit exclusing base branch commits
+ // Find commits between new and old commit excluding base branch commits
commits, err := gitRepo.CommitsBetweenNotBase(newCommit, oldCommit, baseBranch)
if err != nil {
return nil, false, err
}
defer baseGitRepo.Close()
- var reviewNotifers []*issue_service.ReviewRequestNotifier
+ var reviewNotifiers []*issue_service.ReviewRequestNotifier
if err := db.WithTx(ctx, func(ctx context.Context) error {
if err := issues_model.NewPullRequest(ctx, repo, issue, labelIDs, uuids, pr); err != nil {
return err
}
if !pr.IsWorkInProgress(ctx) {
- reviewNotifers, err = issue_service.PullRequestCodeOwnersReview(ctx, issue, pr)
+ reviewNotifiers, err = issue_service.PullRequestCodeOwnersReview(ctx, issue, pr)
if err != nil {
return err
}
}
baseGitRepo.Close() // close immediately to avoid notifications will open the repository again
- issue_service.ReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifers)
+ issue_service.ReviewRequestNotify(ctx, issue, issue.Poster, reviewNotifiers)
mentions, err := issues_model.FindAndUpdateIssueMentions(ctx, issue, issue.Poster, issue.Content)
if err != nil {
}
},
"RegistrationToken": {
- "description": "RegistrationToken is response related to registeration token",
+ "description": "RegistrationToken is response related to registration token",
"headers": {
"token": {
"type": "string"
".github/issue_template/config",
}
- for _, canidate := range templateConfigCandidates {
+ for _, candidate := range templateConfigCandidates {
for _, extension := range []string{".yaml", ".yml"} {
- fullPath := canidate + extension
+ fullPath := candidate + extension
t.Run(fullPath, func(t *testing.T) {
configMap := make(map[string]any)
configMap["blank_issues_enabled"] = false
session := loginUser(t, "user2")
- // Inderect compare remove-files-b (head) with add-csv (base) branch
+ // Indirect compare remove-files-b (head) with add-csv (base) branch
//
// 'link_hi' and 'test.csv' are deleted, 'test.txt' is added
req := NewRequest(t, "GET", "/user2/repo20/compare/add-csv...remove-files-b")
inspectCompare(t, htmlDoc, diffCount, diffChanges)
- // Inderect compare remove-files-b (head) with remove-files-a (base) branch
+ // Indirect compare remove-files-b (head) with remove-files-a (base) branch
//
// 'link_hi' and 'test.csv' are deleted, 'test.txt' is added
inspectCompare(t, htmlDoc, diffCount, diffChanges)
- // Inderect compare remove-files-a (head) with remove-files-b (base) branch
+ // Indirect compare remove-files-a (head) with remove-files-b (base) branch
//
// 'link_hi' and 'test.csv' are deleted
--- /dev/null
+acounts,accounts
+canidate,candidate
+comfirm,confirm
+converage,coverage
+currrently,currently
+delimeter,delimiter
+differrent,different
+exclusing,excluding
+finshed,finished
+formated,formatted
+inderect,indirect
+insuficient,insufficient
+likly,likely
+mergable,mergeable
+overrided,overridden
+priortized,prioritized
+registeration,registration
+reuqest,request
+reviwer,reviewer
+superceded,superseded
+underlaying,underlying
const assetBaseUrl = String(new URL(__webpack_public_path__, window.location.origin));
const {runModeIsProd} = window.config ?? {};
- // `error` and `reason` are not guaranteed to be errors. If the value is falsy, it is likly a
+ // `error` and `reason` are not guaranteed to be errors. If the value is falsy, it is likely a
// non-critical event from the browser. We log them but don't show them to users. Examples:
// - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver#observation_errors
// - https://github.com/mozilla-mobile/firefox-ios/issues/10817