Merge pull request #16 from maddingo/master

put git_prompt_dir in a function and apply gitprompt only to git repositories
master
Martin Gondermann 13 years ago
commit 6a80c55b3a
  1. 2
      .gitignore
  2. 24
      gitprompt.sh

2
.gitignore vendored

@ -0,0 +1,2 @@
*~
*.bak

@ -1,16 +1,19 @@
#!/bin/sh
# assume the gitstatus.py is in the same directory as this script
# code thanks to http://stackoverflow.com/questions/59895
if [ -z "${__GIT_PROMPT_DIR}" ]; then
SOURCE="${BASH_SOURCE[0]}"
function git_prompt_dir()
{
# assume the gitstatus.py is in the same directory as this script
# code thanks to http://stackoverflow.com/questions/59895
if [ -z "${__GIT_PROMPT_DIR}" ]; then
local SOURCE="${BASH_SOURCE[0]}"
while [ -h "${SOURCE}" ]; do
DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
local DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
SOURCE="$(readlink "${SOURCE}")"
[[ $SOURCE != /* ]] && SOURCE="${DIR}/${SOURCE}"
done
__GIT_PROMPT_DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
fi
}
function git_prompt_config()
{
@ -31,7 +34,7 @@ function git_prompt_config()
local Yellow="\[\033[0;33m\]"
local White='\[\033[37m\]'
local Red="\[\033[0;31m\]"
Blue="\[\033[0;34m\]"
local Blue="\[\033[0;34m\]"
# Default values for the appearance of the prompt. Configure at will.
GIT_PROMPT_PREFIX="["
@ -69,7 +72,8 @@ function git_prompt_config()
GIT_PROMPT_FETCH_TIMEOUT=${1-5}
if [ "x$__GIT_STATUS_CMD" == "x" ]
then
__GIT_STATUS_CMD="${__GIT_PROMPT_DIR:-${HOME}/.bash}/gitstatus.py"
git_prompt_dir
__GIT_STATUS_CMD="${__GIT_PROMPT_DIR}/gitstatus.py"
fi
}
@ -95,6 +99,8 @@ function setGitPrompt() {
git_prompt_config
EMPTY_PROMPT=${OLD_GITPROMPT}
local repo=`git rev-parse --show-toplevel 2> /dev/null`
if [[ ! -e "${repo}" ]]; then
PS1="${EMPTY_PROMPT}"
@ -163,6 +169,10 @@ function setGitPrompt() {
fi
}
if [ -z "$OLD_GITPROMPT" ]; then
OLD_GITPROMPT=$PS1
fi
if [ -z "$PROMPT_COMMAND" ]; then
PROMPT_COMMAND=setGitPrompt
else

Loading…
Cancel
Save