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)