Merge pull request #1909 from gaelicWizard/SVN
themes/base: don't invoke svn if possiblepull/1935/head
commit
b48f3fd7d3
|
|
@ -7,7 +7,6 @@ load ../../lib/log
|
||||||
cite _about _param _example _group _author _version
|
cite _about _param _example _group _author _version
|
||||||
|
|
||||||
load ../../lib/helpers
|
load ../../lib/helpers
|
||||||
load ../../themes/base.theme
|
|
||||||
|
|
||||||
function local_setup {
|
function local_setup {
|
||||||
setup_test_fixture
|
setup_test_fixture
|
||||||
|
|
@ -23,6 +22,8 @@ function local_setup {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export OLD_PATH="$PATH"
|
export OLD_PATH="$PATH"
|
||||||
|
|
||||||
|
load ../../themes/base.theme
|
||||||
}
|
}
|
||||||
|
|
||||||
function local_teardown {
|
function local_teardown {
|
||||||
|
|
@ -56,8 +57,8 @@ function setup_svn_path {
|
||||||
|
|
||||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||||
|
|
||||||
# Load the base theme again so that the working SVN script is detected
|
# Init the base theme again so that the working SVN script is detected
|
||||||
load ../../themes/base.theme
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
scm
|
scm
|
||||||
# Make sure that the SVN command is used
|
# Make sure that the SVN command is used
|
||||||
|
|
@ -73,8 +74,8 @@ function setup_svn_path {
|
||||||
|
|
||||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||||
|
|
||||||
# Load the base theme again so that the working SVN script is detected
|
# init the base theme again so that the working SVN script is detected
|
||||||
load ../../themes/base.theme
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
scm
|
scm
|
||||||
# Make sure that the SVN command is used
|
# Make sure that the SVN command is used
|
||||||
|
|
@ -89,8 +90,8 @@ function setup_svn_path {
|
||||||
|
|
||||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||||
|
|
||||||
# Load the base theme again so that the working SVN script is detected
|
# Init the base theme again so that the working SVN script is detected
|
||||||
load ../../themes/base.theme
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
scm
|
scm
|
||||||
# Make sure that no SVN command is used
|
# Make sure that no SVN command is used
|
||||||
|
|
@ -103,8 +104,8 @@ function setup_svn_path {
|
||||||
|
|
||||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||||
|
|
||||||
# Load the base theme again so that the broken SVN script is detected
|
# Init the base theme again so that the broken SVN script is detected
|
||||||
load ../../themes/base.theme
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
scm
|
scm
|
||||||
# Make sure that no SVN command is not used
|
# Make sure that no SVN command is not used
|
||||||
|
|
@ -120,8 +121,8 @@ function setup_svn_path {
|
||||||
|
|
||||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||||
|
|
||||||
# Load the base theme again so that the broken SVN script is detected
|
# Init the base theme again so that the broken SVN script is detected
|
||||||
load ../../themes/base.theme
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
scm
|
scm
|
||||||
# Make sure that no SVN command is used
|
# Make sure that no SVN command is used
|
||||||
|
|
|
||||||
|
|
@ -85,37 +85,45 @@ RBENV_THEME_PROMPT_SUFFIX='|'
|
||||||
RBFU_THEME_PROMPT_PREFIX=' |'
|
RBFU_THEME_PROMPT_PREFIX=' |'
|
||||||
RBFU_THEME_PROMPT_SUFFIX='|'
|
RBFU_THEME_PROMPT_SUFFIX='|'
|
||||||
|
|
||||||
GIT_EXE=$(which git 2> /dev/null || true)
|
: "${GIT_EXE:=$SCM_GIT}"
|
||||||
P4_EXE=$(which p4 2> /dev/null || true)
|
: "${P4_EXE:=$SCM_P4}"
|
||||||
HG_EXE=$(which hg 2> /dev/null || true)
|
: "${HG_EXE:=$SCM_HG}"
|
||||||
SVN_EXE=$(which svn 2> /dev/null || true)
|
: "${SVN_EXE:=$SCM_SVN}"
|
||||||
|
|
||||||
# Check for broken SVN exe that is caused by some versions of Xcode.
|
function _bash_it_appearance_scm_init() {
|
||||||
# See https://github.com/Bash-it/bash-it/issues/1612 for more details.
|
GIT_EXE="$(type -P $SCM_GIT || true)"
|
||||||
if [[ -x "$SVN_EXE" ]]; then
|
P4_EXE="$(type -P $SCM_P4 || true)"
|
||||||
|
HG_EXE="$(type -P $SCM_HG || true)"
|
||||||
|
SVN_EXE="$(type -P $SCM_SVN || true)"
|
||||||
|
|
||||||
|
# Check for broken SVN exe that is caused by some versions of Xcode.
|
||||||
|
# See https://github.com/Bash-it/bash-it/issues/1612 for more details.
|
||||||
|
if [[ -x "$SVN_EXE" && -x "${SVN_EXE%/*}/xcrun" ]]; then
|
||||||
if ! "$SVN_EXE" --version > /dev/null 2>&1; then
|
if ! "$SVN_EXE" --version > /dev/null 2>&1; then
|
||||||
# Unset the SVN exe variable so that SVN commands are avoided.
|
# Unset the SVN exe variable so that SVN commands are avoided.
|
||||||
SVN_EXE=""
|
SVN_EXE=""
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
_bash_it_appearance_scm_init
|
||||||
|
|
||||||
function scm {
|
function scm {
|
||||||
if [[ "$SCM_CHECK" = false ]]; then
|
if [[ "$SCM_CHECK" = false ]]; then
|
||||||
SCM=$SCM_NONE
|
SCM=$SCM_NONE
|
||||||
elif [[ -f .git/HEAD ]] && [[ -x "$GIT_EXE" ]]; then
|
elif [[ -f .git/HEAD ]] && [[ -x "$GIT_EXE" ]]; then
|
||||||
SCM=$SCM_GIT
|
SCM=$SCM_GIT
|
||||||
elif [[ -x "$GIT_EXE" ]] && [[ -n "$(git rev-parse --is-inside-work-tree 2> /dev/null)" ]]; then
|
|
||||||
SCM=$SCM_GIT
|
|
||||||
elif [[ -x "$P4_EXE" ]] && [[ -n "$(p4 set P4CLIENT 2> /dev/null)" ]]; then
|
|
||||||
SCM=$SCM_P4
|
|
||||||
elif [[ -d .hg ]] && [[ -x "$HG_EXE" ]]; then
|
elif [[ -d .hg ]] && [[ -x "$HG_EXE" ]]; then
|
||||||
SCM=$SCM_HG
|
SCM=$SCM_HG
|
||||||
elif [[ -x "$HG_EXE" ]] && [[ -n "$(hg root 2> /dev/null)" ]]; then
|
|
||||||
SCM=$SCM_HG
|
|
||||||
elif [[ -d .svn ]] && [[ -x "$SVN_EXE" ]]; then
|
elif [[ -d .svn ]] && [[ -x "$SVN_EXE" ]]; then
|
||||||
SCM=$SCM_SVN
|
SCM=$SCM_SVN
|
||||||
|
elif [[ -x "$GIT_EXE" ]] && [[ -n "$(git rev-parse --is-inside-work-tree 2> /dev/null)" ]]; then
|
||||||
|
SCM=$SCM_GIT
|
||||||
|
elif [[ -x "$HG_EXE" ]] && [[ -n "$(hg root 2> /dev/null)" ]]; then
|
||||||
|
SCM=$SCM_HG
|
||||||
elif [[ -x "$SVN_EXE" ]] && [[ -n "$(svn info --show-item wc-root 2> /dev/null)" ]]; then
|
elif [[ -x "$SVN_EXE" ]] && [[ -n "$(svn info --show-item wc-root 2> /dev/null)" ]]; then
|
||||||
SCM=$SCM_SVN
|
SCM=$SCM_SVN
|
||||||
|
elif [[ -x "$P4_EXE" ]] && [[ -n "$(p4 set P4CLIENT 2> /dev/null)" ]]; then
|
||||||
|
SCM=$SCM_P4
|
||||||
else
|
else
|
||||||
SCM=$SCM_NONE
|
SCM=$SCM_NONE
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue