mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-02-12 12:21:00 +01:00
Compare commits
2 Commits
b95022dde6
...
2525dae661
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2525dae661 | ||
|
|
266bc17ab3 |
@@ -15,6 +15,13 @@ _source-from-omz-settings() {
|
||||
fi
|
||||
}
|
||||
|
||||
_source-from-default-location() {
|
||||
[[ -r /usr/local/share/chruby/chruby.sh ]] || return 1
|
||||
|
||||
source /usr/local/share/chruby/chruby.sh
|
||||
source /usr/local/share/chruby/auto.sh
|
||||
}
|
||||
|
||||
_source-from-homebrew() {
|
||||
(( $+commands[brew] )) || return 1
|
||||
|
||||
@@ -36,27 +43,14 @@ _source-from-homebrew() {
|
||||
source $_brew_prefix/share/chruby/auto.sh
|
||||
}
|
||||
|
||||
_load-chruby-dirs() {
|
||||
local dir
|
||||
for dir in "$HOME/.rubies" "$PREFIX/opt/rubies"; do
|
||||
if [[ -d "$dir" ]]; then
|
||||
RUBIES+=("$dir")
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Load chruby
|
||||
if _source-from-omz-settings; then
|
||||
_load-chruby-dirs
|
||||
elif [[ -r "/usr/local/share/chruby/chruby.sh" ]] ; then
|
||||
source /usr/local/share/chruby/chruby.sh
|
||||
source /usr/local/share/chruby/auto.sh
|
||||
_load-chruby-dirs
|
||||
elif _source-from-homebrew; then
|
||||
_load-chruby-dirs
|
||||
fi
|
||||
_source-from-omz-settings || \
|
||||
_source-from-default-location || \
|
||||
_source-from-homebrew
|
||||
|
||||
unfunction _source-from-homebrew _source-from-omz-settings _load-chruby-dirs
|
||||
unfunction _source-from-homebrew \
|
||||
_source-from-default-location \
|
||||
_source-from-omz-settings
|
||||
|
||||
|
||||
## chruby utility functions and aliases
|
||||
|
||||
@@ -31,16 +31,26 @@ function git_develop_branch() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# Check if main exists and use instead of master
|
||||
# Get the default branch name from common branch names or fallback to remote HEAD
|
||||
function git_main_branch() {
|
||||
command git rev-parse --git-dir &>/dev/null || return
|
||||
local ref
|
||||
|
||||
local remote ref
|
||||
|
||||
for ref in refs/{heads,remotes/{origin,upstream}}/{main,trunk,mainline,default,stable,master}; do
|
||||
if command git show-ref -q --verify $ref; then
|
||||
echo ${ref:t}
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Fallback: try to get the default branch from remote HEAD symbolic refs
|
||||
for remote in origin upstream; do
|
||||
ref=$(command git rev-parse --abbrev-ref $remote/HEAD 2>/dev/null)
|
||||
if [[ $ref == $remote/* ]]; then
|
||||
echo ${ref#"$remote/"}; return 0
|
||||
fi
|
||||
done
|
||||
|
||||
# If no main branch was found, fall back to master but return error
|
||||
echo master
|
||||
|
||||
Reference in New Issue
Block a user