summaryrefslogtreecommitdiffstats
path: root/pkg/commands/loading_remotes.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-11-17 10:23:06 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-11-21 22:07:14 +1100
commit1f3e1720a3a0bd31c0816a94d0b7c5bca1589f96 (patch)
tree5ad5c1f01b31cdf9e4fed9cdc0a4779a2bf442b8 /pkg/commands/loading_remotes.go
parentb7f2d0366b2c9b8ac034e426661db4ea72a7bb14 (diff)
split RemoteBranch out from Branch
Diffstat (limited to 'pkg/commands/loading_remotes.go')
-rw-r--r--pkg/commands/loading_remotes.go18
1 files changed, 16 insertions, 2 deletions
diff --git a/pkg/commands/loading_remotes.go b/pkg/commands/loading_remotes.go
index 8b6b47d57..dc5dcac44 100644
--- a/pkg/commands/loading_remotes.go
+++ b/pkg/commands/loading_remotes.go
@@ -3,6 +3,8 @@ package commands
import (
"fmt"
"regexp"
+ "sort"
+ "strings"
)
func (c *GitCommand) GetRemotes() ([]*Remote, error) {
@@ -24,9 +26,9 @@ func (c *GitCommand) GetRemotes() ([]*Remote, error) {
re := regexp.MustCompile(fmt.Sprintf("%s\\/(.*)", name))
matches := re.FindAllStringSubmatch(remoteBranchesStr, -1)
- branches := make([]*Branch, len(matches))
+ branches := make([]*RemoteBranch, len(matches))
for j, match := range matches {
- branches[j] = &Branch{
+ branches[j] = &RemoteBranch{
Name: match[1],
}
}
@@ -38,5 +40,17 @@ func (c *GitCommand) GetRemotes() ([]*Remote, error) {
}
}
+ // now lets sort our remotes by name alphabetically
+ sort.Slice(remotes, func(i, j int) bool {
+ // we want origin at the top because we'll be most likely to want it
+ if remotes[i].Name == "origin" {
+ return true
+ }
+ if remotes[j].Name == "origin" {
+ return false
+ }
+ return strings.ToLower(remotes[i].Name) < strings.ToLower(remotes[j].Name)
+ })
+
return remotes, nil
}