|
@@ -25,13 +25,30 @@ function work_in_progress() {
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
-# Check if main exists and use instead of master
|
|
|
+# Get the default 'main' branch
|
|
|
+# Marc(2020-07-11): I hope to be able to remove this someday
|
|
|
function git_main_branch() {
|
|
|
- if [[ -n "$(git branch --list master)" ]]; then
|
|
|
- echo master
|
|
|
- else
|
|
|
- echo main
|
|
|
+ # Get default branch from the origin remote
|
|
|
+ local branch
|
|
|
+ branch="${$(command git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null)#refs/remotes/origin/}"
|
|
|
+
|
|
|
+ if [[ -n "$branch" ]]; then
|
|
|
+ echo "$branch"
|
|
|
+ return
|
|
|
fi
|
|
|
+
|
|
|
+ # Look up list of local branches and return the first one that exists
|
|
|
+ local -a branches
|
|
|
+ branches=(${(@f)"$(command git for-each-ref --format='%(refname:short)' refs/heads 2>/dev/null)"})
|
|
|
+ for branch in master main; do
|
|
|
+ if (( ${branches[(Ie)$branch]} )); then
|
|
|
+ echo "$branch"
|
|
|
+ return
|
|
|
+ fi
|
|
|
+ done
|
|
|
+
|
|
|
+ echo master
|
|
|
+ return 1
|
|
|
}
|
|
|
|
|
|
#
|