Remove redundant len
check around loop (#27464)
This pull request is a minor code cleanup. From the Go specification (https://go.dev/ref/spec#For_range): > "1. For a nil slice, the number of iterations is 0." > "3. If the map is nil, the number of iterations is 0." `len` returns 0 if the slice or map is nil (https://pkg.go.dev/builtin#len). Therefore, checking `len(v) > 0` before a loop is unnecessary. --- At the time of writing this pull request, there wasn't a lint rule that catches these issues. The closest I could find is https://staticcheck.dev/docs/checks/#S103 Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
parent
6cdeb7798b
commit
13d5d2e711
4 changed files with 31 additions and 45 deletions
|
@ -116,17 +116,13 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
|
||||||
c.AddArguments("-i")
|
c.AddArguments("-i")
|
||||||
|
|
||||||
// add authors if present in search query
|
// add authors if present in search query
|
||||||
if len(opts.Authors) > 0 {
|
for _, v := range opts.Authors {
|
||||||
for _, v := range opts.Authors {
|
c.AddOptionFormat("--author=%s", v)
|
||||||
c.AddOptionFormat("--author=%s", v)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add committers if present in search query
|
// add committers if present in search query
|
||||||
if len(opts.Committers) > 0 {
|
for _, v := range opts.Committers {
|
||||||
for _, v := range opts.Committers {
|
c.AddOptionFormat("--committer=%s", v)
|
||||||
c.AddOptionFormat("--committer=%s", v)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add time constraints if present in search query
|
// add time constraints if present in search query
|
||||||
|
@ -150,10 +146,8 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
|
||||||
|
|
||||||
// add remaining keywords from search string
|
// add remaining keywords from search string
|
||||||
// note this is done only for command created above
|
// note this is done only for command created above
|
||||||
if len(opts.Keywords) > 0 {
|
for _, v := range opts.Keywords {
|
||||||
for _, v := range opts.Keywords {
|
cmd.AddOptionFormat("--grep=%s", v)
|
||||||
cmd.AddOptionFormat("--grep=%s", v)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// search for commits matching given constraints and keywords in commit msg
|
// search for commits matching given constraints and keywords in commit msg
|
||||||
|
@ -168,25 +162,23 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
|
||||||
|
|
||||||
// if there are any keywords (ie not committer:, author:, time:)
|
// if there are any keywords (ie not committer:, author:, time:)
|
||||||
// then let's iterate over them
|
// then let's iterate over them
|
||||||
if len(opts.Keywords) > 0 {
|
for _, v := range opts.Keywords {
|
||||||
for _, v := range opts.Keywords {
|
// ignore anything not matching a valid sha pattern
|
||||||
// ignore anything not matching a valid sha pattern
|
if IsValidSHAPattern(v) {
|
||||||
if IsValidSHAPattern(v) {
|
// create new git log command with 1 commit limit
|
||||||
// create new git log command with 1 commit limit
|
hashCmd := NewCommand(repo.Ctx, "log", "-1", prettyLogFormat)
|
||||||
hashCmd := NewCommand(repo.Ctx, "log", "-1", prettyLogFormat)
|
// add previous arguments except for --grep and --all
|
||||||
// add previous arguments except for --grep and --all
|
addCommonSearchArgs(hashCmd)
|
||||||
addCommonSearchArgs(hashCmd)
|
// add keyword as <commit>
|
||||||
// add keyword as <commit>
|
hashCmd.AddDynamicArguments(v)
|
||||||
hashCmd.AddDynamicArguments(v)
|
|
||||||
|
|
||||||
// search with given constraints for commit matching sha hash of v
|
// search with given constraints for commit matching sha hash of v
|
||||||
hashMatching, _, err := hashCmd.RunStdBytes(&RunOpts{Dir: repo.Path})
|
hashMatching, _, err := hashCmd.RunStdBytes(&RunOpts{Dir: repo.Path})
|
||||||
if err != nil || bytes.Contains(stdout, hashMatching) {
|
if err != nil || bytes.Contains(stdout, hashMatching) {
|
||||||
continue
|
continue
|
||||||
}
|
|
||||||
stdout = append(stdout, hashMatching...)
|
|
||||||
stdout = append(stdout, '\n')
|
|
||||||
}
|
}
|
||||||
|
stdout = append(stdout, hashMatching...)
|
||||||
|
stdout = append(stdout, '\n')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -213,11 +213,9 @@ func NewConfigProviderFromFile(file string, extraConfigs ...string) (ConfigProvi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(extraConfigs) > 0 {
|
for _, s := range extraConfigs {
|
||||||
for _, s := range extraConfigs {
|
if err := cfg.Append([]byte(s)); err != nil {
|
||||||
if err := cfg.Append([]byte(s)); err != nil {
|
return nil, fmt.Errorf("unable to append more config: %v", err)
|
||||||
return nil, fmt.Errorf("unable to append more config: %v", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -965,10 +965,8 @@ func NewIssue(ctx *context.Context) {
|
||||||
|
|
||||||
_, templateErrs := issue_service.GetTemplatesFromDefaultBranch(ctx.Repo.Repository, ctx.Repo.GitRepo)
|
_, templateErrs := issue_service.GetTemplatesFromDefaultBranch(ctx.Repo.Repository, ctx.Repo.GitRepo)
|
||||||
templateLoaded, errs := setTemplateIfExists(ctx, issueTemplateKey, IssueTemplateCandidates)
|
templateLoaded, errs := setTemplateIfExists(ctx, issueTemplateKey, IssueTemplateCandidates)
|
||||||
if len(errs) > 0 {
|
for k, v := range errs {
|
||||||
for k, v := range errs {
|
templateErrs[k] = v
|
||||||
templateErrs[k] = v
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -152,14 +152,12 @@ func NewPullRequest(ctx context.Context, repo *repo_model.Repository, issue *iss
|
||||||
if issue.Milestone != nil {
|
if issue.Milestone != nil {
|
||||||
notify_service.IssueChangeMilestone(ctx, issue.Poster, issue, 0)
|
notify_service.IssueChangeMilestone(ctx, issue.Poster, issue, 0)
|
||||||
}
|
}
|
||||||
if len(assigneeIDs) > 0 {
|
for _, assigneeID := range assigneeIDs {
|
||||||
for _, assigneeID := range assigneeIDs {
|
assignee, err := user_model.GetUserByID(ctx, assigneeID)
|
||||||
assignee, err := user_model.GetUserByID(ctx, assigneeID)
|
if err != nil {
|
||||||
if err != nil {
|
return ErrDependenciesLeft
|
||||||
return ErrDependenciesLeft
|
|
||||||
}
|
|
||||||
notify_service.IssueChangeAssignee(ctx, issue.Poster, issue, assignee, false, assigneeCommentMap[assigneeID])
|
|
||||||
}
|
}
|
||||||
|
notify_service.IssueChangeAssignee(ctx, issue.Poster, issue, assignee, false, assigneeCommentMap[assigneeID])
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in a new issue