From 498a530ab7e465c476dbcaa691e34934e02ee231 Mon Sep 17 00:00:00 2001 From: Tom Amberson <53712733+TommyAmberson@users.noreply.github.com> Date: Fri, 20 Feb 2026 21:41:40 -0600 Subject: [PATCH] Refactor determineMainBranches to return multiple refs per entry --- pkg/commands/git_commands/main_branches.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkg/commands/git_commands/main_branches.go b/pkg/commands/git_commands/main_branches.go index 109f9cfd8..a177984f7 100644 --- a/pkg/commands/git_commands/main_branches.go +++ b/pkg/commands/git_commands/main_branches.go @@ -77,10 +77,10 @@ func (self *MainBranches) GetMergeBase(refName string) string { } func (self *MainBranches) determineMainBranches(configuredMainBranches []string) []string { - var existingBranches []string + var matchedBranches [][]string var wg sync.WaitGroup - existingBranches = make([]string, len(configuredMainBranches)) + matchedBranches = make([][]string, len(configuredMainBranches)) for i, branchName := range configuredMainBranches { wg.Add(1) @@ -91,7 +91,7 @@ func (self *MainBranches) determineMainBranches(configuredMainBranches []string) if ref, err := self.cmd.New( NewGitCmd("rev-parse").Arg("--symbolic-full-name", branchName+"@{u}").ToArgv(), ).DontLog().RunWithOutput(); err == nil { - existingBranches[i] = strings.TrimSpace(ref) + matchedBranches[i] = []string{strings.TrimSpace(ref)} return } @@ -101,7 +101,7 @@ func (self *MainBranches) determineMainBranches(configuredMainBranches []string) if err := self.cmd.New( NewGitCmd("rev-parse").Arg("--verify", "--quiet", ref).ToArgv(), ).DontLog().Run(); err == nil { - existingBranches[i] = ref + matchedBranches[i] = []string{ref} return } @@ -112,16 +112,15 @@ func (self *MainBranches) determineMainBranches(configuredMainBranches []string) if err := self.cmd.New( NewGitCmd("rev-parse").Arg("--verify", "--quiet", ref).ToArgv(), ).DontLog().Run(); err == nil { - existingBranches[i] = ref + matchedBranches[i] = []string{ref} + return } }) } wg.Wait() - existingBranches = lo.Filter(existingBranches, func(branch string, _ int) bool { - return branch != "" - }) + existingBranches := lo.Flatten(matchedBranches) return existingBranches }