From 13d5d2e7110ca643d8ca1c7655e2a4ff89fe5b8d Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Fri, 6 Oct 2023 14:49:37 +0800 Subject: 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 --- modules/git/repo_commit.go | 52 ++++++++++++++++---------------------- modules/setting/config_provider.go | 8 +++--- 2 files changed, 25 insertions(+), 35 deletions(-) (limited to 'modules') diff --git a/modules/git/repo_commit.go b/modules/git/repo_commit.go index 6fc3063629..6b06fef656 100644 --- a/modules/git/repo_commit.go +++ b/modules/git/repo_commit.go @@ -116,17 +116,13 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co c.AddArguments("-i") // add authors if present in search query - if len(opts.Authors) > 0 { - for _, v := range opts.Authors { - c.AddOptionFormat("--author=%s", v) - } + for _, v := range opts.Authors { + c.AddOptionFormat("--author=%s", v) } // add committers if present in search query - if len(opts.Committers) > 0 { - for _, v := range opts.Committers { - c.AddOptionFormat("--committer=%s", v) - } + for _, v := range opts.Committers { + c.AddOptionFormat("--committer=%s", v) } // 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 // note this is done only for command created above - if len(opts.Keywords) > 0 { - for _, v := range opts.Keywords { - cmd.AddOptionFormat("--grep=%s", v) - } + for _, v := range opts.Keywords { + cmd.AddOptionFormat("--grep=%s", v) } // 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:) // then let's iterate over them - if len(opts.Keywords) > 0 { - for _, v := range opts.Keywords { - // ignore anything not matching a valid sha pattern - if IsValidSHAPattern(v) { - // create new git log command with 1 commit limit - hashCmd := NewCommand(repo.Ctx, "log", "-1", prettyLogFormat) - // add previous arguments except for --grep and --all - addCommonSearchArgs(hashCmd) - // add keyword as - hashCmd.AddDynamicArguments(v) - - // search with given constraints for commit matching sha hash of v - hashMatching, _, err := hashCmd.RunStdBytes(&RunOpts{Dir: repo.Path}) - if err != nil || bytes.Contains(stdout, hashMatching) { - continue - } - stdout = append(stdout, hashMatching...) - stdout = append(stdout, '\n') + for _, v := range opts.Keywords { + // ignore anything not matching a valid sha pattern + if IsValidSHAPattern(v) { + // create new git log command with 1 commit limit + hashCmd := NewCommand(repo.Ctx, "log", "-1", prettyLogFormat) + // add previous arguments except for --grep and --all + addCommonSearchArgs(hashCmd) + // add keyword as + hashCmd.AddDynamicArguments(v) + + // search with given constraints for commit matching sha hash of v + hashMatching, _, err := hashCmd.RunStdBytes(&RunOpts{Dir: repo.Path}) + if err != nil || bytes.Contains(stdout, hashMatching) { + continue } + stdout = append(stdout, hashMatching...) + stdout = append(stdout, '\n') } } diff --git a/modules/setting/config_provider.go b/modules/setting/config_provider.go index 8d64286288..132f4acea1 100644 --- a/modules/setting/config_provider.go +++ b/modules/setting/config_provider.go @@ -213,11 +213,9 @@ func NewConfigProviderFromFile(file string, extraConfigs ...string) (ConfigProvi } } - if len(extraConfigs) > 0 { - for _, s := range extraConfigs { - if err := cfg.Append([]byte(s)); err != nil { - return nil, fmt.Errorf("unable to append more config: %v", err) - } + for _, s := range extraConfigs { + if err := cfg.Append([]byte(s)); err != nil { + return nil, fmt.Errorf("unable to append more config: %v", err) } } -- cgit v1.2.3