Fixed incorrect time when in a repo with no commits.

This commit is contained in:
Christopher Chow 2011-01-29 23:13:17 +11:00
commit 72d5ec8849

View file

@ -24,8 +24,11 @@ ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
# use a neutral color, otherwise colors will vary according to time. # use a neutral color, otherwise colors will vary according to time.
function git_time_since_commit() { function git_time_since_commit() {
if git rev-parse --git-dir > /dev/null 2>&1; then if git rev-parse --git-dir > /dev/null 2>&1; then
now=`date +%s` # Only proceed if there is actually a commit.
if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then
# Get the last commit.
last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`
now=`date +%s`
seconds_since_last_commit=$((now-last_commit)) seconds_since_last_commit=$((now-last_commit))
# Totals # Totals
@ -56,5 +59,9 @@ function git_time_since_commit() {
else else
echo "($COLOR${MINUTES}m%{$reset_color%}|" echo "($COLOR${MINUTES}m%{$reset_color%}|"
fi fi
else
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
echo "($COLOR~|"
fi
fi fi
} }