f93976875133409297be864ce94d50f20a9bc18d

Author
Marc Cornellà <marc@mcornella.com>
Committer
GitHub <noreply@github.com>
Date

Message

fix(git): fix fallback to develop branch if `master` not found (#11966)

Diff

 1diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
 2index b0376308fd8b8705015102a4d6f2a0ea626a322d..d053a7638fde7cb769b4354863e90de79d2f4d85 100644
 3--- a/plugins/git/git.plugin.zsh
 4+++ b/plugins/git/git.plugin.zsh
 5@@ -20,26 +20,31 @@ function current_branch() {
 6 function git_develop_branch() {
 7   command git rev-parse --git-dir &>/dev/null || return
 8   local branch
 9-  for branch in dev devel development; do
10+  for branch in dev devel develop development; do
11     if command git show-ref -q --verify refs/heads/$branch; then
12       echo $branch
13-      return
14+      return 0
15     fi
16   done
17+
18   echo develop
19+  return 1
20 }
21 
22 # Check if main exists and use instead of master
23 function git_main_branch() {
24   command git rev-parse --git-dir &>/dev/null || return
25   local ref
26-  for ref in refs/{heads,remotes/{origin,upstream}}/{main,trunk,mainline,default}; do
27+  for ref in refs/{heads,remotes/{origin,upstream}}/{main,trunk,mainline,default,master}; do
28     if command git show-ref -q --verify $ref; then
29       echo ${ref:t}
30-      return
31+      return 0
32     fi
33   done
34+
35+  # If no main branch was found, fall back to master but return error
36   echo master
37+  return 1
38 }
39 
40 function grename() {
41@@ -129,6 +134,8 @@ function gbda() {
42   git branch --no-color --merged | command grep -vE "^([+*]|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs git branch --delete 2>/dev/null
43 
44   local default_branch=$(git_main_branch)
45+  (( ! $? )) || default_branch=$(git_develop_branch)
46+
47   git for-each-ref refs/heads/ "--format=%(refname:short)" | \
48     while read branch; do
49       local merge_base=$(git merge-base $default_branch $branch)